#include <stdio.h> #define MAXM 10 int m, n; int workarr[MAXM]; int record[MAXM]; void DFS(int l) { int i; if (l == n) { for (i=0; i<n; i++) printf("%c", 'a'+record[i]); printf("/n"); return; } for (i=0; i<m; i++) if (workarr[i] > 0) { workarr[i]--; record[l] = i; DFS(l+1); workarr[i]++; } } int main() { int i; while (scanf("%d%d", &m, &n) != EOF) { for (i=0; i<m; i++) workarr[i] = n; DFS(0); } return 0; }