#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  void Debugnewline(void);
  int I;
  _imp_string Filename = _imp_str_literal("zzz.lis");
  _imp_string Sourcename = _imp_str_literal("zzzsource.txt");
  unsigned char Blurb[512 /*0:511*/];
  _imp_string Data;
  _imp_string Longdata;
  int Ch;
  int Count;
  double Pi = 3.1415926;
  Selectoutput(0);
  Printstring(_imp_join(_imp_str_literal("Opening source "), Sourcename));
  Newline();
  Printstring(_imp_join(_imp_str_literal("Opening file "), Filename));
  Newline();
  Setdebuglevel;
  Selectinput(1);
  Selectoutput(1);
  Count = Readbuffer;
  Printstring(_imp_join(_imp_str_literal("Read blurb count="), Itos(Count, 0)));
  Newline();
  for (I = 0; I <= Count - 1; I++) Printsymbol(Blurb[I]);
  Newline();
  Printstring(_imp_str_literal("Just output the read blurb"));
  Newline();
  *Length(Longdata) = 0;
  Count = Readbuffer;
  Printstring(
      _imp_join(_imp_str_literal("Read longdata count="), Itos(Count, 0)));
  Newline();
  Printstring(Longdata);
  Newline();
  for (I = 1; I <= 20; I++) {
    Printstring(_imp_join(_imp_str_literal("hello, iteration "), Itos(I, 0)));
    Newline();
  }
  *Length(Longdata) = 0;
  do {
    *Length(Data) = 0;
    do {
      Readsymbol(Ch);
      if ((Ch != Nl) && (Ch != Eof))
        if (*Length(Data) < Sizeof(Data) - 1) {
          *Length(Data) = *Length(Data) + 1;
          *Charno(Data, *Length(Data)) = Ch;
        }
      if (Ch != Eof)
        if (*Length(Longdata) < Sizeof(Longdata) - 1) {
          *Length(Longdata) = *Length(Longdata) + 1;
          *Charno(Longdata, *Length(Longdata)) = Ch;
        }
    } while ((Ch != Nl) && (Ch != Eof));
    Printstring(Data);
    Newline();
  } while (Ch != Eof);
  if (Debugmode != 0) {
    Debugstring;
    Debugnewline();
  }
  for (I = 0; I <= *Length(Sourcename) - 1; I++)
    Blurb[I] = *Charno(Sourcename, I + 1);
  Blurb[*Length(Sourcename)] = Nl;
  if (Debugmode != 0) {
    Debugstring;
    Debugnewline();
  }
  if (Debugmode != 0) {
    Debugnewline();
    Debugstring;
    Debugnewline();
  }
  Count = Writebuffer;
  if (Debugmode != 0) {
    Debugnewline();
    Debugstring;
    Debugnewline();
  }
  Count = Writebuffer;
  Printstring(_imp_join(_imp_str_literal("Written count="), Itos(Count, 0)));
  Newline();
  if (Debugmode != 0) {
    Debugnewline();
    Debugstring;
    Debugnewline();
  }
  Count = Writebuffer;
  Newline();
  Printstring(
      _imp_join(_imp_str_literal("Written blurb count="), Itos(Count, 0)));
  Newline();
  Printstring(_imp_str_literal("PI="));
  Printreal;
  Newline();
  Closeinput();
  Closeoutput();
  Selectoutput(0);
  Printstring(_imp_join(_imp_str_literal("Closed file "), Sourcename));
  Newline();
  Printstring(_imp_join(_imp_str_literal("Closed file "), Filename));
  Newline();
  Setdebuglevel;
  exit(0);
  return (1);
}
