(* Copyright_by_Pavel_V_Semjanov_1994) ();
#include <stdio.h>
main () {
static char *C[] = {
"(* Copyright_by_Pavel_V_Semjanov_1994) ();                  ",
"#include <stdio.h>                                          ",
"main () {                                                   ",
"static char *C[] = {                                        ",
"};                                                          ",
"int i, j;                                                   ",
"  for (i=0; i < 4; i++) puts (C[i]);                        ",
"  for (i=0; i < sizeof C / sizeof C[0]; i++) {              ",
"    putchar ('\\\"');                                         ",
"    for (j=0; C[i][j]; j++)                                 ",
"      if (C[i][j] == '\\\\' || C[i][j] == '\\\"')               ",
"        printf (\"\\\\%c\", C[i][j]);                           ",
"      else putchar (C[i][j]);                               ",
"    puts (\"\\\",\");                                           ",
"  }                                                         ",
"  for (i=4; i < 27; i++) puts (C[i]);                       ",
"  puts (\"/* *\"\")\");                                         ",
"  for (i=27; i < 32; i++) puts (C[i]);                      ",
"  for (i=0; i < sizeof C / sizeof C[0]; i++) {              ",
"    printf (\"  C[%2d]:='\", i+1);                            ",
"    for (j=0; C[i][j]; j++)                                 ",
"      if (C[i][j] == '\\'') printf (\"''\");                   ",
"      else putchar (C[i][j]);                               ",
"    puts (\"';\");                                            ",
"  }                                                         ",
"  for (i=32; i < sizeof C / sizeof C[0]; i++) puts (C[i]);  ",
"  puts (\"{ *\"\"/ }\");                                        ",
"program Own (output);                                       ",
"const k = '''';                                             ",
"var C : array[1..53] of packed array[1..60] of char;        ",
" i, j : integer;                                            ",
"begin                                                       ",
"  for i:=1 to 4 do writeln (C[i]);                          ",
"  for i:=1 to 53 do begin                                   ",
"    write ('\"');                                            ",
"    for j:=1 to 60 do                                       ",
"      if (C[i][j] = '\\') OR (C[i][j] = '\"') then            ",
"        write ('\\', C[i][j])                                ",
"      else write (C[i][j]);                                 ",
"    writeln ('\",');                                         ",
"  end;                                                      ",
"  for i:=5 to 27 do writeln (C[i]);                         ",
"  writeln ('/* *', ')');                                    ",
"  for i:=28 to 32 do writeln (C[i]);                        ",
"  for i:=1 to 53 do begin                                   ",
"    write ('  C[', i:2, ']:=', k);                          ",
"    for j:=1 to 60 do                                       ",
"      if C[i][j] = k then write (k,k) else write (C[i][j]); ",
"    writeln (k, ';')                                        ",
"  end;                                                      ",
"  for i:=33 to 53 do writeln (C[i]);                        ",
"  writeln ('{ *', '/ }');                                   ",
"end.                                                        ",
};
int i, j;
  for (i=0; i < 4; i++) puts (C[i]);
  for (i=0; i < sizeof C / sizeof C[0]; i++) {
    putchar ('\"');
    for (j=0; C[i][j]; j++)
      if (C[i][j] == '\\' || C[i][j] == '\"')
        printf ("\\%c", C[i][j]);
      else putchar (C[i][j]);
    puts ("\",");
  }
  for (i=4; i < 27; i++) puts (C[i]);
  puts ("/* *"")");
  for (i=27; i < 32; i++) puts (C[i]);
  for (i=0; i < sizeof C / sizeof C[0]; i++) {
    printf ("  C[%2d]:='", i+1);
    for (j=0; C[i][j]; j++)
      if (C[i][j] == '\'') printf ("''");
      else putchar (C[i][j]);
    puts ("';");
  }
  for (i=32; i < sizeof C / sizeof C[0]; i++) puts (C[i]);
  puts ("{ *""/ }");
/* *)
program Own (output);
const k = '''';
var C : array[1..53] of packed array[1..60] of char;
 i, j : integer;
begin
  C[ 1]:='(* Copyright_by_Pavel_V_Semjanov_1994) ();                  ';
  C[ 2]:='#include <stdio.h>                                          ';
  C[ 3]:='main () {                                                   ';
  C[ 4]:='static char *C[] = {                                        ';
  C[ 5]:='};                                                          ';
  C[ 6]:='int i, j;                                                   ';
  C[ 7]:='  for (i=0; i < 4; i++) puts (C[i]);                        ';
  C[ 8]:='  for (i=0; i < sizeof C / sizeof C[0]; i++) {              ';
  C[ 9]:='    putchar (''\"'');                                         ';
  C[10]:='    for (j=0; C[i][j]; j++)                                 ';
  C[11]:='      if (C[i][j] == ''\\'' || C[i][j] == ''\"'')               ';
  C[12]:='        printf ("\\%c", C[i][j]);                           ';
  C[13]:='      else putchar (C[i][j]);                               ';
  C[14]:='    puts ("\",");                                           ';
  C[15]:='  }                                                         ';
  C[16]:='  for (i=4; i < 27; i++) puts (C[i]);                       ';
  C[17]:='  puts ("/* *"")");                                         ';
  C[18]:='  for (i=27; i < 32; i++) puts (C[i]);                      ';
  C[19]:='  for (i=0; i < sizeof C / sizeof C[0]; i++) {              ';
  C[20]:='    printf ("  C[%2d]:=''", i+1);                            ';
  C[21]:='    for (j=0; C[i][j]; j++)                                 ';
  C[22]:='      if (C[i][j] == ''\'''') printf ("''''");                   ';
  C[23]:='      else putchar (C[i][j]);                               ';
  C[24]:='    puts ("'';");                                            ';
  C[25]:='  }                                                         ';
  C[26]:='  for (i=32; i < sizeof C / sizeof C[0]; i++) puts (C[i]);  ';
  C[27]:='  puts ("{ *""/ }");                                        ';
  C[28]:='program Own (output);                                       ';
  C[29]:='const k = '''''''';                                             ';
  C[30]:='var C : array[1..53] of packed array[1..60] of char;        ';
  C[31]:=' i, j : integer;                                            ';
  C[32]:='begin                                                       ';
  C[33]:='  for i:=1 to 4 do writeln (C[i]);                          ';
  C[34]:='  for i:=1 to 53 do begin                                   ';
  C[35]:='    write (''"'');                                            ';
  C[36]:='    for j:=1 to 60 do                                       ';
  C[37]:='      if (C[i][j] = ''\'') OR (C[i][j] = ''"'') then            ';
  C[38]:='        write (''\'', C[i][j])                                ';
  C[39]:='      else write (C[i][j]);                                 ';
  C[40]:='    writeln (''",'');                                         ';
  C[41]:='  end;                                                      ';
  C[42]:='  for i:=5 to 27 do writeln (C[i]);                         ';
  C[43]:='  writeln (''/* *'', '')'');                                    ';
  C[44]:='  for i:=28 to 32 do writeln (C[i]);                        ';
  C[45]:='  for i:=1 to 53 do begin                                   ';
  C[46]:='    write (''  C['', i:2, '']:='', k);                          ';
  C[47]:='    for j:=1 to 60 do                                       ';
  C[48]:='      if C[i][j] = k then write (k,k) else write (C[i][j]); ';
  C[49]:='    writeln (k, '';'')                                        ';
  C[50]:='  end;                                                      ';
  C[51]:='  for i:=33 to 53 do writeln (C[i]);                        ';
  C[52]:='  writeln (''{ *'', ''/ }'');                                   ';
  C[53]:='end.                                                        ';
  for i:=1 to 4 do writeln (C[i]);
  for i:=1 to 53 do begin
    write ('"');
    for j:=1 to 60 do
      if (C[i][j] = '\') OR (C[i][j] = '"') then
        write ('\', C[i][j])
      else write (C[i][j]);
    writeln ('",');
  end;
  for i:=5 to 27 do writeln (C[i]);
  writeln ('/* *', ')');
  for i:=28 to 32 do writeln (C[i]);
  for i:=1 to 53 do begin
    write ('  C[', i:2, ']:=', k);
    for j:=1 to 60 do
      if C[i][j] = k then write (k,k) else write (C[i][j]);
    writeln (k, ';')
  end;
  for i:=33 to 53 do writeln (C[i]);
  writeln ('{ *', '/ }');
end.
{ */ }
