/* This is a self replicant program.
 * If you run this program, it will print its own
 * code, so that the commands:
 *
 *   gcc prog.c -o prog
 *   prog > prog2.c
 *
 * produce a file prog2.c which is identical to prog.c
 */
#include <stdio.h>
char t[]={47,42,32,84,104,105,115,32,105,115,32,97,32,115,101,108,102,32,114,101,112,108,105,99,97,110,116,32,112,114,111,103,114,97,109,46,10,32,42,32,73,102,32,121,111,117,32,114,117,110,32,116,104,105,115,32,112,114,111,103,114,97,109,44,32,105,116,32,119,105,108,108,32,112,114,105,110,116,32,105,116,115,32,111,119,110,10,32,42,32,99,111,100,101,44,32,115,111,32,116,104,97,116,32,116,104,101,32,99,111,109,109,97,110,100,115,58,10,32,42,10,32,42,32,32,32,103,99,99,32,112,114,111,103,46,99,32,45,111,32,112,114,111,103,10,32,42,32,32,32,112,114,111,103,32,62,32,112,114,111,103,50,46,99,10,32,42,10,32,42,32,112,114,111,100,117,99,101,32,97,32,102,105,108,101,32,112,114,111,103,50,46,99,32,119,104,105,99,104,32,105,115,32,105,100,101,110,116,105,99,97,108,32,116,111,32,112,114,111,103,46,99,10,32,42,47,10,35,105,110,99,108,117,100,101,32,60,115,116,100,105,111,46,104,62,10,99,104,97,114,32,116,91,93,61,123,0,125,59,10,10,118,111,105,100,32,114,101,112,108,105,99,97,116,101,40,70,73,76,69,42,32,102,41,123,10,105,110,116,32,105,61,48,59,10,119,104,105,108,101,32,40,116,91,105,93,41,32,102,112,114,105,110,116,102,40,102,44,34,37,99,34,44,116,91,105,43,43,93,41,59,10,105,43,43,59,10,105,110,116,32,106,61,48,59,10,119,104,105,108,101,32,40,116,91,106,93,33,61,49,41,32,102,112,114,105,110,116,102,40,102,44,34,37,100,44,34,44,116,91,106,43,43,93,41,59,10,112,114,105,110,116,102,40,34,49,34,41,59,10,119,104,105,108,101,32,40,116,91,105,93,33,61,49,41,32,102,112,114,105,110,116,102,40,102,44,34,37,99,34,44,116,91,105,43,43,93,41,59,10,125,10,10,105,110,116,32,109,97,105,110,40,118,111,105,100,41,123,10,114,101,112,108,105,99,97,116,101,40,115,116,100,111,117,116,41,59,10,114,101,116,117,114,110,32,48,59,10,125,10,1};

void replicate(FILE* f){
int i=0;
while (t[i]) fprintf(f,"%c",t[i++]);
i++;
int j=0;
while (t[j]!=1) fprintf(f,"%d,",t[j++]);
printf("1");
while (t[i]!=1) fprintf(f,"%c",t[i++]);
}

int main(void){
replicate(stdout);
return 0;
}

