#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  _imp_enter();
  _imp_string S;
  int N;
  auto void P1(_imp_string * K) {
    _imp_enter();
    PRINTSTRING(_imp_str_literal("p1: "));
    PRINTSTRING(K);
    NEWLINE();
    _imp_leave();
  }
  auto void P2(_imp_string * K) {
    _imp_enter();
    PRINTSTRING(_imp_str_literal("p2: "));
    PRINTSTRING(K);
    NEWLINE();
    _imp_leave();
  }
  auto void PASS(void (*P)(_imp_string * K), _imp_string *K) {
    _imp_enter();
    P(K);
    _imp_leave();
  }
  for (;;) {
    READ(N);
    READ(S);
    if (N == 1) {
      PASS(P1(), S);

    } else {
      PASS(P2(), S);
    }
    PRINTSTRING(_imp_str_literal("test done"));
    NEWLINE();
  }

  _imp_leave();
  exit(0);
  return (0);
}
