Macroeconomics

// Step 1: Replace each $ with a lowercase letter
// so that this program compiles with zero warnings
// and outputs an English word of five or more letters.
// No #define 'word' begins with the same letter that
// it is replacing.
//
// This code does not work in *all* C++ environments,
// but it has successfully compiled and run in these:
// - (install) https://visualstudio.microsoft.com/
// - (online)  https://online-cpp.com
// - (online)  https://www.tutorialspoint.com/online_cpp_compiler.php
// - (online)  https://www.w3schools.com/cpp/trycpp.asp?filename=demo_compiler
//
// Two good links for brushing up on your C++ skills:
// - https://cplusplus.com/doc/tutorial/
// - https://cplusplus.com/reference/

#include <cstdio>

#define Z(x) < x >
#define A(x) Z(x)

#define a      $$$
#define n c ## $$$$
#define v      $$$$$$$$
#define d      $$$$$$

#include A(a)
#include A(n)
#include A(v)
#include A(d)

#define b      $$$$$
#define c      $$$$$$
#define e      $$$$$$$$
#define f      $$$
#define g      $$$$$
#define h      $$$$$
#define i      $$
#define j      $$$$$$
#define k      $$$$$
#define l      $$$$
#define m      $$
#define o      $$$$
#define p      $$
#define q      $$$
#define r      $$$$$$
#define s      $$$
#define t      $$$$$
#define u      $$$$
#define w      $$$$
#define x      $$$$
#define y      $$$
#define z      $$$$$$
#define B      $$$$$$
#define C      $$$$
#define D      $$$$$$
#define E      $$$$$$$$
#define F      $$$$
#define G      $$$$
#define H      $$$$
#define I      $$$$

g M{j:e<g K>x P(q::d<K>&N){q::a<K>L;E f R=0
;p{K X=N.i(R);m(L.o(X)!=L.y()){N.h(N.k()+R)
;}l{L.r(X);R++;}}t(R<N.w());}};f G(){q::d<f
>K={25,18,25,9,3,6,18,20,17,26,4,9,22,14,2,
3,1,5,3,5,6,23,3,18,26};M V;V.P(K);F N=*(z(
x).u());m(c(F)<=c(E b f)&&c(E b f)<=c(E I f
)){f Y=0;s(H W=K.k();W!=K.y();W++){m(((f)C(
*W)*(f)C(*W))!=*W){D("%c ",((*W+(E f)N-'a')
%26)+'a');Y++;}N++;}D(" (%d)\n",Y-3);}B 0;}