#include <stdio.h>
#include <string.h>
void zurasu(char *s) {
char c = *s;
if (!c) return;
for (; *(s+1); s++) *s = *(s+1);
*s = c;
}
void do_irekae(char *hoge, char *s) {
int i;
if (!*s) { puts(hoge); return; }
for (i = strlen(s); i > 0; i--, zurasu(s))
do_irekae(hoge, s+1);
}
void irekae(char *hoge) { do_irekae(hoge, hoge); }
int main(void) {
char hoge[] = "123456789"
irekae(hoge);
return 0;
}