//Normal #define _GLIBCXX_DEBUG #define ll long long #include using namespace std; using Graph = vector>; void print(auto a){ cout << a; } void prints(auto a){ cout << a << " "; } void prints(){ cout << " "; } void printl(auto a){ cout << a << endl; } void printl(){ cout << endl; } void fix(int n){ cout << fixed << setprecision(n); } int siz(string s){ return (int)s.size(); } int main(){ using Q = queue; vector q(4); q[0].push("A"); q[0].push("E"); q[1].push("B"); q[2].push("C"); q[3].push("D"); int K; cin >> K; for(int i = 0; i < K; i++){ string S = q[i%4].front(); q[i%4].pop(); q[(i+1)%4].push(S); } for(int i = 0; i < 4; i++){ while(!q[i].empty()){ string S = q[i].front(); q[i].pop(); print(S); } printl(); } return 0; }