#include<stdio.h>
#include<math.h>
char *a[] = {"\"};\n\n",
	"main() {\n",
	"  int i=0; char *b;\n",
	"  FILE *outfile = fopen(\"pifile\", \"w\");\n",
	"  fprintf(outfile, \"%20.16f\\n\",4.0*atan(1.0));\n",
	"  printf(\"#include<stdio.h>\\n#include<math.h>\\nchar *a[] = {\\\"\");\n",
	"  while(*a[i]) {\n",
	"    for(b=a[i];*b;b++)\n",
	"      switch(*b) {\n",
	"         case '\\n': printf(\"\\\\n\"); break;\n",
	"         case '\\\\': case '\\\"': putchar('\\\\'); \n",
	"         default: putchar(*b);\n",
	"      } \n",
	"    printf(\"\\\",\\n\\t\\\"\"); \n",
	"    i++;\n",
	"  }\n",
	"  i=0;\n",
	"  while(*a[i]) {for(b=a[i];*b;b++)putchar(*b);i++;}\n",
	"}\n",
	""};

main() {
  int i=0; char *b;
  FILE *outfile = fopen("pifile", "w");
  fprintf(outfile, "%20.16f\n",4.0*atan(1.0));
  printf("#include<stdio.h>\n#include<math.h>\nchar *a[] = {\"");
  while(*a[i]) {
    for(b=a[i];*b;b++)
      switch(*b) {
         case '\n': printf("\\n"); break;
         case '\\': case '\"': putchar('\\'); 
         default: putchar(*b);
      } 
    printf("\",\n\t\""); 
    i++;
  }
  i=0;
  while(*a[i]) {for(b=a[i];*b;b++)putchar(*b);i++;}
}

