#include<stdio.h>
#include<string.h>

// 並べ替え結果処理
void kekka_shori(char *p)
{
    puts(p);
}

// 文字列の右n桁を左にスライド
void narabe(char *d, int n)
{
    int i, j, len = strlen(d);
    char c;

    if (n <= 1) {
        kekka_shori(d);
        return;
    }
    for (j = 0; j < n; j++) {
        narabe(d, n - 1);
        c = d[len - n];
        for (i = 0; i < n - 1; i++) {
            d[len - n + i] = d[len - n + i + 1];
        }
        d[len - n + i] = c;
    }
}

int main()
{
    char d[] = "abc";

    narabe(d, strlen(d));
    return 0;
}
