#include #include #include using namespace boost::multiprecision; using namespace std;using namespace atcoder;using vst = vector;using ll = long long; using ld = long double;using pll = pair;using vll = vector;using vvll = vector; using cint = cpp_int; #define rep(i, n) for (ll i = 0; i < n; i++) #define repp(i,k,n) for (ll i = k; i < n; i++) #define per(i,s,e) for(ll i = s; i >= e; i--) #define all(v) v.begin(),v.end() #define no() {cout << "No" << endl; return 0;} #define yes() {cout << "Yes" << endl;return 0;} #define CHECK(a) a ? cout << "Yes" << endl : cout << "No" << endl #define UNOmap unordered_map #define UNOset unordered_set #define ASC(T) T,vector,greater templatevoid in(T&... a){(cin >> ... >> a);} templatevoid out(const T& a, const Ts&... b){cout << a;((cout << ' ' << b), ...);cout << '\n';} void vin(vll &v){for(ll i = 0; i < (ll)v.size(); i++)in(v[i]);} void vout(vll &v){for(ll i = 0; i < (ll)v.size(); i++) cout << v[i] << ' ';} ll INF = 1LL << 62;ll MODD = 998244353;ll MOD = 1000000007; using mint = modint998244353; //using mint = modint1000000007; //using mint = modint; //---------------------------------------------- int main(){ vector> q(4); q[0] = {'A','E'}; q[1] = {'B'}; q[2] = {'C'}; q[3] = {'D'}; ll K; in(K); rep(i,K){ char n = q[i%4].front(); q[i%4].pop_front(); q[(i+1)%4].push_back(n); } rep(i,4){ for(auto p : q[i]){ cout << p ; } cout << endl; } }