#include <bits/stdc++.h>
using namespace std;

#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define mt make_tuple
#define eb emplace_back
#define fastio() ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)

#define LB(x,v) (lower_bound(x.begin(),x.end(),v)-x.begin())
#define UB(x,v) (upper_bound(x.begin(),x.end(),v)-x.begin())
typedef long long ll;
typedef pair<ll,ll> ii;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef unsigned long long ull;
typedef long double ld; 
typedef tuple<int,int,int> State;

ll mod = 1e9 + 7;

#define citc(tc) int tc; cin>>tc; while(tc--){solve();}
#define each(a,x) for( auto &a:(x))
#define rep(i, n) for (ll i = 0; i < (n); i++)
#define repr(i, n) for (ll i = (n) - 1; i >= 0; i--)
#define rep2(i, l, r) for (ll i = (l); i < (r); i++)
#define rep2r(i, l, r) for (ll i = (r) - 1; i >= (l); i--)
#define range(a) a.begin(), a.end()
#define deb(x) cout<<#x<<" "<<x<<endl;
#define cini(i) int i; cin>>i;
#define cinll(l) ll l; cin>>l;
#define cinai(a, n) vi a(n); rep(i, n) { cin>>a[i]; }
#define cinal(a, n) vl a(n); rep(i, n) { cin>>a[i]; }
#define coutai(a, n) rep(i, n) { cout<<a[i]<<" "; } ent;
#define coutal(a, n) rep(i, n) { cout<<a[i]<<" "; } ent;
#define ent cout<<endl;

void solve()
{
	cini(n);
	if(n == 1)
		cout<<"a\n";
	else if(n == 2)
		cout<<"aa\nab\n";
	else if(n == 3)
		cout<<"aaa\naab\naba\nabc\n";
	else if(n == 4)
		cout<<"aaaa\naaab\naaba\naabc\nabaa\nabab\nabac\nabba\nabbb\nabbc\nabca\nabcb\nabcc\nabcd";
	else if(n == 5)
	{
		cout<<"aaaaa\naaaab\naaaba\naaabc\naabaa\naabab\naabac\naabba\naabbb\naabbc\naabca\naabcb\naabcc\naabcd\n";
		cout<<"abaaa\nabaab\nabaac\nababa\nababb\nababc\nabaca\nabacb\nabacc\nabacd\nabbaa\nabbab\nabbac\nabbba\nabbbb\nabbbc\nabbca\nabbcb\nabbcc\nabbcd\nabcaa\nabcab\nabcaa\nabcab\nabcac\nabcad\nabcba\nabcbb\nabcbc\nabcbd\nabcca\nabccb\nabccc\nabccd\nabcda\nabcdb\nabcdc\nabcdd\nabcde";
	}
	else if(n == 6)
	{
		cout<<"aaaaaa\naaaaab\naaaaba\naaaabc\naaabaa\naaabab\naaabac\naaabba\naaabbb\naaabbc\naaabca\naaabcb\naaabcc\naaabcd";
		cout<<"aabaaa\naabaab\naabaac\naababa\naababb\naababc\naabaca\naabacb\naabacc\naabacd\naabbaa\naabbab\naabbac\naabbba\naabbbb\naabbbc\naabbca\naabbcb\naabbcc\naabbcd\naabcaa\naabcab\naabcaa\naabcab";
		cout<<"\naabcac\naabcad\naabcba\naabcbb\naabcbc\naabcbd\naabcca\naabccb\naabccc\naabccd\naabcda\naabcdb\naabcdc\naabcdd\naabcde";
		cout<<"\nabaaaa\nab"
	}
}
int main()
{
	fastio();
	// citc(tc);
	solve();
}