#include <perms.h>
int GETYNX(void) {
  _imp_enter();
  if (_imp_on_event(9)) {
    return ('X');
  }
  int C;
  for (;;) {
    C = NEXTSYMBOL();
    SKIPSYMBOL();
    if (C == '?') _imp_signal(7, 1, 0, _imp_str_literal(""));
    if ('a' <= C && C <= 'z') C = C - 'a' + 'A';
    if (C == 'Y' || C == 'N') return (C);
  }

  _imp_leave();
}
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  _imp_enter();
  int ANSWER;
  if (_imp_on_event(7)) {
    PRINTSTRING(_imp_join(_imp_str_literal("What indeed?"), SNL));
  }
  PROMPT(_imp_str_literal("Y or N: "));
  PRINTSTRING(_imp_str_literal("Starting"));
  NEWLINE();
  for (;;) {
    ANSWER = GETYNX();
    if (ANSWER == 'Y') {
      PRINTSTRING(_imp_str_literal("Yes!"));
      NEWLINE();

    } else if (ANSWER == 'N') {
      PRINTSTRING(_imp_str_literal("No?"));
      NEWLINE();

    } else if (ANSWER == 'X') {
      PRINTSTRING(
          _imp_str_literal("\\nExiting on trapped END OF FILE event!."));
      NEWLINES(2);
      exit(0);

    } else {
      {
        _imp_monitor(0);
        exit(1);
      }
    }
  }

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