int a[12],n;
void dfs(int bit,int mx)
{
    if(bit == n)
    {
        for(int i = 0; i < n; i++)
        {
            putchar('a'+a[i]);
        }
        putchar('\n');
        return;
    }
    for(int i = 0; i <= mx+1; i++)
    {
        a[bit] = i;
        dfs(bit+1,max(mx,i));
    }
}
int main()
{
    cin>>n;
    a[0] = 0;
    dfs(1,0);
    return 0;
}