import java.io.BufferedReader
import java.io.InputStream
import java.io.InputStreamReader
import java.lang.StringBuilder
import java.util.*

fun main(args: Array<String>) {
    val sc = FastScanner(System.`in`)
    val n = sc.nextInt()
    val set = mutableSetOf<String>()
    for (i1 in 0 until 1) {
        for (i2 in 0 until i1 + 2) {
            for (i3 in 0 until i2 + 2) {
                for (i4 in 0 until i3 + 2) {
                    for (i5 in 0 until i4 + 2) {
                        for (i6 in 0 until i5 + 2) {
                            for (i7 in 0 until i6 + 2) {
                                for (i8 in 0 until i7 + 2) {
                                    for (i9 in 0 until i8 + 2) {
                                        for (i10 in 0 until i9 + 2) {
                                            val arr = arrayOf(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10)
                                            var sb = StringBuilder()
                                            for (j in 0 until n) {
                                                sb.append('a' + arr[j])
                                            }
                                            set.add(sb.toString())
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    for (s in set.sorted()) {
        println(s)
    }
}

class FastScanner(s: InputStream) {
    private var st = StringTokenizer("")
    private val br = BufferedReader(InputStreamReader(s))

    fun next(): String {
        while (!st.hasMoreTokens()) st = StringTokenizer(br.readLine())

        return st.nextToken()
    }

    fun nextInt() = next().toInt()
    fun nextLong() = next().toLong()
    fun nextLine() = br.readLine()
    fun nextDouble() = next().toDouble()
    fun ready() = br.ready()
}
