#include <perms.h>

//          Edinburgh IMP77 Compiler - Version 8.4
//
//     1  !!%EXTERNALROUTINESPEC DDELAY(%INTEGER secs)
//     2  %externalroutine DDELAY(%integer secs)

void DDELAY(int SECS) {
  //     3    %systemroutinespec SLEEP %alias "sleep"(%integer secs)

  extern void SLEEP(int SECS) __asm__("sleep");

  //     4    SLEEP(secs)

  SLEEP(SECS);

  //     5  %end

  return;
} /* end of DDELAY */

//     6
//     7  !!%EXTERNALROUTINESPEC PROMPT(%STRING(15) s)
//     8  !!%EXTERNALROUTINESPEC NOTIFY(%STRING(255) who what)
//     9
//    10  %EXTERNALROUTINE HAUNT(%STRING(255) dummy)

void HAUNT(_imp_string255 DUMMY) {
  //    11    %INTEGERFN REM(%INTEGER NUM,DEN)

  int REM(int NUM, int DEN) {
    //    12       %RESULT=NUM-NUM//DEN*NUM

    return NUM - ((long)NUM / (long)DEN) * NUM;

    //    13    %END

  } /* end of REM */

  //    14     %CONST %INTEGER max victims = 10
  //    15     %CONST %INTEGER max messages = 303
  //    16     %CONST %INTEGER minutes = 1
  //    17     %STRING(15) %ARRAY victim(1:max victims)

  _imp_string15 VICTIM[10];
  struct _imp_dv VICTIM_dv = {VICTIM, sizeof(_imp_string) /*, dims, <bounds> */};

  //    18     %INTEGER proc no, num victims, this victim, times, delay, max times

  int PROCNO;
  int NUMVICTIMS;
  int THISVICTIM;
  int TIMES;
  int DELAY;
  int MAXTIMES;

  //    19     %INTEGER selected

  int SELECTED;

  //    20     %OWNSTRING(31) blurb

  static _imp_string31 BLURB;

  //    21     %STRING(15) proc name

  _imp_string15 PROCNAME;

  //    22     delay = 10

  DELAY = 10;

  //    23     max times = 60 // delay * minutes         ;! One minutes worth...

  MAXTIMES = ((long)60 / (long)DELAY) * 1;

  //    24     %CONST %STRING(22) %ARRAY message(0:max messages) = %C

  const _imp_string22 MESSAGE[304] = {[0 ... 7] = _imp_str_init("We hates Pascal!!!"),
                                      _imp_str_init("Weeble"),
                                      _imp_str_init("SYN SYN SYN NAK"),
                                      _imp_str_init("SYN SYN SYN ACK"),
                                      _imp_str_init("SYN SYN SYN WABT"),
                                      _imp_str_init("(CADDDDDADADADADR X)"),
                                      _imp_str_init("*device timeout"),
                                      _imp_str_init("%CLI-W-INSFPRM"),
                                      _imp_str_init("MAKE 'FRED :JIM"),
                                      _imp_str_init("Hack an Ent today"),
                                      _imp_str_init("**HOST DOWN"),
                                      _imp_str_init("PASCAL: No Thanks"),
                                      _imp_str_init("Supermac is Back."),
                                      _imp_str_init("Vangelis isn't Dutch"),
                                      _imp_str_init("DTE -> DCE SARM F (B)"),
                                      _imp_str_init("3-space indentation??"),
                                      _imp_str_init("CHR(7) - rings a bell?"),
                                      _imp_str_init("Gimme back my 10p!!"),
                                      _imp_str_init("A Masochist on a diet?"),
                                      _imp_str_init("Turn the tape over.."),
                                      _imp_str_init("Have an index card."),
                                      _imp_str_init("Device type:"),
                                      _imp_str_init("Its frothy man."),
                                      _imp_str_init("Quine-McWHO????"),
                                      _imp_str_init("Try chasing the dream."),
                                      _imp_str_init("Tangram Time!"),
                                      _imp_str_init("Hi there Stan"),
                                      _imp_str_init("Sod ML (attrib [MID])"),
                                      _imp_str_init("HALT INST EXECUTED"),
                                      _imp_str_init("ISYS80 V3.17"),
                                      _imp_str_init("WSLXVANMAT for pres."),
                                      _imp_str_init("R0 = 00000804"),
                                      _imp_str_init("Symbolic stack dump:"),
                                      _imp_str_init("@173000G"),
                                      _imp_str_init("This must be Thursday?"),
                                      _imp_str_init("What a party..."),
                                      _imp_str_init("Confirmed."),
                                      _imp_str_init("Right? ... Check!"),
                                      _imp_str_init("$ SET NOCONTROL_Y"),
                                      _imp_str_init("Noohoosferra Burzi??"),
                                      _imp_str_init("Welcome to VAX/VMS v^O"),
                                      _imp_str_init("Mostly Harmless..."),
                                      _imp_str_init("VAX user service resu"),
                                      _imp_str_init("prepare to die"),
                                      _imp_str_init("Ecce Ecce F'tang"),
                                      _imp_str_init("page owner violation"),
                                      _imp_str_init("We wants a shrubbery"),
                                      _imp_str_init("European or African??"),
                                      _imp_str_init("Can I have a synopsys?"),
                                      _imp_str_init("Kohilla Kohilla Splugh"),
                                      _imp_str_init("Conversing..."),
                                      _imp_str_init("%PAS-F-CASSELBOU"),
                                      _imp_str_init("Baroque is Beautiful"),
                                      _imp_str_init("WSLXVANMAT"),
                                      _imp_str_init("**END**"),
                                      _imp_str_init("Heeee-Haw."),
                                      _imp_str_init("Kirk to Enterprise..."),
                                      _imp_str_init("Zot!"),
                                      _imp_str_init("You must be joking"),
                                      _imp_str_init("[] : *a list"),
                                      _imp_str_init("false : bool"),
                                      _imp_str_init("47 : num"),
                                      _imp_str_init("- : elephant"),
                                      _imp_str_init("[-;-] : butterfly list"),
                                      _imp_str_init("You need more monkeys."),
                                      _imp_str_init("Have a gorilla.."),
                                      _imp_str_init("Have a chocolate frog."),
                                      _imp_str_init("->@putslice(1:0,fred)"),
                                      _imp_str_init("POSITIVE shields!!!"),
                                      _imp_str_init("WHAT WHAT WHAT WHAT??"),
                                      _imp_str_init("what what What WHAT??"),
                                      _imp_str_init("addr(253)"),
                                      _imp_str_init("* Form          |"),
                                      _imp_str_init("SWITCH,SWITCH,SWITCH"),
                                      _imp_str_init("TICK,TICK,TICK,TICK"),
                                      _imp_str_init("string(addr(p_p1))=\"\""),
                                      _imp_str_init("Failure: m0"),
                                      _imp_str_init("Mind if I smoke?"),
                                      _imp_str_init("External missing"),
                                      _imp_str_init("Int:."),
                                      _imp_str_init("BDBDBD Hi there, Buck."),
                                      _imp_str_init("0000 *a*"),
                                      _imp_str_init("0 files"),
                                      _imp_str_init("Hi there, Steve."),
                                      _imp_str_init("Cif:"),
                                      _imp_str_init("Weebles wobble."),
                                      _imp_str_init("Stopped."),
                                      _imp_str_init("You Have Mail."),
                                      _imp_str_init("Play it again, Sam."),
                                      _imp_str_init("Play it again, Sid."),
                                      _imp_str_init("You have been Warned."),
                                      _imp_str_init(">%c"),
                                      _imp_str_init(">(l0(f1/!/l40\\f/!/)0)0"),
                                      _imp_str_init("Apologies accepted."),
                                      _imp_str_init("Push the button, Max."),
                                      _imp_str_init("Try Oiling it."),
                                      _imp_str_init("Caimbridge, caimbridge"),
                                      _imp_str_init("Dont Panic. Dont Panic"),
                                      _imp_str_init("Coffee time..."),
                                      _imp_str_init("Time to feed the alien"),
                                      _imp_str_init("Complexity = O(nlog(n)"),
                                      _imp_str_init("Disk reversal error."),
                                      _imp_str_init("PDS is on the bridge"),
                                      _imp_str_init("PSR has been and gone"),
                                      _imp_str_init("We'd better call Stan."),
                                      _imp_str_init("Sid is innocent!"),
                                      _imp_str_init("Oh no, not again."),
                                      _imp_str_init("Beep-beep."),
                                      _imp_str_init("Page Page Page"),
                                      _imp_str_init("Swap Swap Swap"),
                                      _imp_str_init("Oh, Good grief"),
                                      _imp_str_init("Get the Purple One"),
                                      _imp_str_init("Put it in the curry"),
                                      _imp_str_init("Rooner Spools OK"),
                                      _imp_str_init("Slide rules OK"),
                                      _imp_str_init("Dyslexia rules KO"),
                                      _imp_str_init("Queen rules UK"),
                                      _imp_str_init("Apathy might rule OK"),
                                      _imp_str_init("Cannot open input."),
                                      _imp_str_init("%SYSTEM-F-ABORT,abort"),
                                      _imp_str_init("NO."),
                                      _imp_str_init("Phasers locked on."),
                                      _imp_str_init("Shields are now dead."),
                                      _imp_str_init("*indentation       |"),
                                      _imp_str_init("No more room in cube"),
                                      _imp_str_init("Filename:"),
                                      _imp_str_init("Invalid Password."),
                                      _imp_str_init("SET [ DEAD ]"),
                                      _imp_str_init("SET [ **EOT** ]"),
                                      _imp_str_init("My brain hurts"),
                                      _imp_str_init("*T .BG;CA"),
                                      _imp_str_init("Reel..Zot..Clamp"),
                                      _imp_str_init("Trund!!"),
                                      _imp_str_init("Beware of the Trund"),
                                      _imp_str_init("Illegal opcode"),
                                      _imp_str_init("Dont even Bother"),
                                      _imp_str_init("WET PAINT"),
                                      _imp_str_init("** CONSOLE FAILURE"),
                                      _imp_str_init("** OUTPUT LOST"),
                                      _imp_str_init("Are you sure ?"),
                                      _imp_str_init("Delete?"),
                                      _imp_str_init("** Too many externals"),
                                      _imp_str_init("Host:v"),
                                      _imp_str_init("Number 149"),
                                      _imp_str_init("Rivet. Rivet."),
                                      _imp_str_init("Try typing <return>"),
                                      _imp_str_init("Type Q to quit"),
                                      _imp_str_init("SYN SYN SYN RABBIT"),
                                      _imp_str_init("%diagnose 2<<14+255"),
                                      _imp_str_init("//EXEC FORT"),
                                      _imp_str_init("Beam me up, Scotty!!"),
                                      _imp_str_init("Glad to be of service."),
                                      _imp_str_init("Tap out the code...."),
                                      _imp_str_init("Wretched, isn't it?"),
                                      _imp_str_init("MCR>PIP *.*;*/DE"),
                                      _imp_str_init("X.IMP deleted"),
                                      _imp_str_init("...a collum matrix..."),
                                      _imp_str_init("PHUT-THINK-CLICK"),
                                      _imp_str_init("%endofprogramme"),
                                      _imp_str_init("1 statements compiled"),
                                      _imp_str_init("Coojagoa Burzi??"),
                                      _imp_str_init("I/O Silver."),
                                      _imp_str_init("OKOKOKKO @"),
                                      _imp_str_init(".LT1 *A*"),
                                      _imp_str_init("Hello lift"),
                                      _imp_str_init(".KJOB"),
                                      _imp_str_init("your days are numbered"),
                                      _imp_str_init("** CRASH IMMINENT"),
                                      _imp_str_init("Wargle Wargle"),
                                      _imp_str_init("57 varieties"),
                                      _imp_str_init("_OPA0: \"Backup"),
                                      _imp_str_init("Regardez, gentlemen.."),
                                      _imp_str_init("What, pray tell??"),
                                      _imp_str_init("So what, Mark?"),
                                      _imp_str_init("Fiddle-de-dee"),
                                      _imp_str_init("42"),
                                      _imp_str_init("Forty-Two"),
                                      _imp_str_init("42=7*9"),
                                      _imp_str_init("RND(X) = 17 for all X"),
                                      _imp_str_init("xxx~~~//][()?"),
                                      _imp_str_init("Live long and prosper"),
                                      _imp_str_init("Pass your maths, guyyz"),
                                      _imp_str_init("Space, it says, is BIG"),
                                      _imp_str_init("We've got you covered"),
                                      _imp_str_init("NEGATIVE shields."),
                                      _imp_str_init(">M-*k*;%c"),
                                      _imp_str_init("Chewbacca is cuddly"),
                                      _imp_str_init("Apathetic bloddy panic"),
                                      _imp_str_init("Metaphysical Imagery.."),
                                      _imp_str_init("I'm running out of Ink"),
                                      _imp_str_init("BNAG!!!!!"),
                                      _imp_str_init("HNAG!!!!!"),
                                      _imp_str_init("Fs link HNUG?"),
                                      _imp_str_init("CODE+GLAP+DIAGS=0"),
                                      _imp_str_init("** corrupt diags"),
                                      _imp_str_init("** diagnostics looping"),
                                      _imp_str_init("**execution error:ille"),
                                      _imp_str_init("** Segment error"),
                                      _imp_str_init("LIB - *FATAL*"),
                                      _imp_str_init("Edwin error 14."),
                                      _imp_str_init("[0 XACTIONS AFFECTED]"),
                                      _imp_str_init("I am lying."),
                                      _imp_str_init("Coruscate, coruscate"),
                                      _imp_str_init("Geezanarra DECtape"),
                                      _imp_str_init(".("),
                                      _imp_str_init("Type YES to continue"),
                                      _imp_str_init("SAY \"XYZZY\""),
                                      _imp_str_init("SAY \"PLUGH\""),
                                      _imp_str_init("Clams got arms!"),
                                      _imp_str_init("Clams got livers!"),
                                      _imp_str_init("*CRASH*"),
                                      _imp_str_init("FRED OBJ not on DT2"),
                                      _imp_str_init("Alarm set for 08:00"),
                                      _imp_str_init("The Bells...."),
                                      _imp_str_init("*** Spelling errur"),
                                      _imp_str_init("* Processor head crash"),
                                      _imp_str_init("mouldy breadboard err"),
                                      _imp_str_init("sliced breadboard err"),
                                      _imp_str_init("greasy chip error"),
                                      _imp_str_init("Resistance is Useless!"),
                                      _imp_str_init("Production rules OK"),
                                      _imp_str_init("ZZZZZZZZZZzzzzzzzz...."),
                                      _imp_str_init("Merde alors"),
                                      _imp_str_init("Foute-moi le camp!"),
                                      _imp_str_init("Scheiss ab!"),
                                      _imp_str_init("Va t'en faire baiser"),
                                      _imp_str_init("Pisse-toi, salaud!"),
                                      _imp_str_init("`X' (attrib Schulze)"),
                                      _imp_str_init("----------------------"),
                                      _imp_str_init("PASCAL is good AS CLAP"),
                                      _imp_str_init("Zaphod's just zis guy."),
                                      _imp_str_init("Dis is vot ve find...."),
                                      _imp_str_init(".BLISS is ignorance"),
                                      _imp_str_init("Pickle a squirrel"),
                                      _imp_str_init("Eat a beaver"),
                                      _imp_str_init("We hates it..."),
                                      _imp_str_init("Ian was here"),
                                      _imp_str_init("TANSTAAFL"),
                                      _imp_str_init("Elbereth"),
                                      _imp_str_init("Haunting you is fun..."),
                                      _imp_str_init("You need another quote"),
                                      _imp_str_init("EEEEXXXXXcellent !!"),
                                      _imp_str_init("HAUNT HAUNT !!"),
                                      _imp_str_init("TJ's for BMs OK!"),
                                      _imp_str_init("Sauron Lives"),
                                      _imp_str_init("Zap a Balrog - TODAY"),
                                      _imp_str_init("Its a FEATURE!!!"),
                                      _imp_str_init("I shall return..."),
                                      _imp_str_init("Let us pray"),
                                      _imp_str_init("%MOUSES-I-HI_THERE"),
                                      _imp_str_init("Ho, Hummmmmm"),
                                      _imp_str_init("Have a nasty day!"),
                                      _imp_str_init("I WANNA COOKIE!!!"),
                                      _imp_str_init("Share and enjoy"),
                                      _imp_str_init("P_dsno = P_ssno+17"),
                                      _imp_str_init("Suicide is painless"),
                                      _imp_str_init("Laura rules!"),
                                      _imp_str_init("Polly wants a biscuit"),
                                      _imp_str_init("It's the rugby club"),
                                      _imp_str_init("Time for moussaka"),
                                      _imp_str_init("%SLART-E-BARFAAST"),
                                      _imp_str_init("I'm a FORTRAN man!!!"),
                                      _imp_str_init("Nibble a happy warthog"),
                                      _imp_str_init("T. Dream time!!"),
                                      _imp_str_init("Ve are ze robots!!"),
                                      _imp_str_init("yojne dna erahS"),
                                      _imp_str_init("FrreeeyyyOOOWWWW!!!"),
                                      _imp_str_init("Structured BASIC ????"),
                                      _imp_str_init("%Rms-e-korsakoff"),
                                      _imp_str_init("NOPR-ERR"),
                                      _imp_str_init("Clams got legs!!!"),
                                      _imp_str_init("Wheeeeeeeeeeeee!!"),
                                      _imp_str_init("EM Char in stmt"),
                                      _imp_str_init("Mouses rules OK"),
                                      _imp_str_init("IMP yourself today"),
                                      _imp_str_init("Hi there"),
                                      _imp_str_init("Yummmmmmmmm"),
                                      _imp_str_init("Mouses rules OK"),
                                      _imp_str_init("Have a nice day!"),
                                      _imp_str_init("Friend or foe???"),
                                      _imp_str_init("EMAS is great (honest)"),
                                      _imp_str_init("%MTHLIB-E-FLOOVEMAT"),
                                      _imp_str_init("Another silly message"),
                                      _imp_str_init("As you wish, so be it."),
                                      _imp_str_init("You may call me Mazda."),
                                      _imp_str_init("Groovy, man."),
                                      _imp_str_init("%control K'101011'"),
                                      _imp_str_init("PROCESS RUNNING"),
                                      _imp_str_init("movl #^xDEAD, r0"),
                                      _imp_str_init("movl #^xB00B, r0"),
                                      _imp_str_init("Filestore down til 11"),
                                      _imp_str_init("Error: ';' expected"),
                                      _imp_str_init("Another layer of metal"),
                                      _imp_str_init("You have mail from SM"),
                                      _imp_str_init("TEXT FOR F?"),
                                      _imp_str_init("AV nowhere to be found"),
                                      _imp_str_init("BDKH:BAD SEGMENT")};
  struct _imp_dv MESSAGE_dv = {MESSAGE, sizeof(_imp_string) /*, dims, <bounds> */};

  //    25+       "We hates Pascal!!!" (8),
  //    26+       "Weeble",
  //    27+       "SYN SYN SYN NAK",
  //    28+       "SYN SYN SYN ACK",
  //    29+       "SYN SYN SYN WABT",
  //    30+       "(CADDDDDADADADADR X)",
  //    31+       "*device timeout",
  //    32+       "%CLI-W-INSFPRM",
  //    33+       "MAKE 'FRED :JIM",
  //    34+       "Hack an Ent today",
  //    35+       "**HOST DOWN",
  //    36+       "PASCAL: No Thanks",
  //    37+       "Supermac is Back.",
  //    38+       "Vangelis isn't Dutch",
  //    39+       "DTE -> DCE SARM F (B)",
  //    40+       "3-space indentation??",
  //    41+       "CHR(7) - rings a bell?",
  //    42+       "Gimme back my 10p!!",
  //    43+       "A Masochist on a diet?",
  //    44+       "Turn the tape over..",
  //    45+       "Have an index card.",
  //    46+       "Device type:",
  //    47+       "Its frothy man.",
  //    48+       "Quine-McWHO????",
  //    49+       "Try chasing the dream.",
  //    50+       "Tangram Time!",
  //    51+       "Hi there Stan",
  //    52+       "Sod ML (attrib [MID])",
  //    53+       "HALT INST EXECUTED",
  //    54+       "ISYS80 V3.17",
  //    55+       "WSLXVANMAT for pres.",
  //    56+       "R0 = 00000804",
  //    57+       "Symbolic stack dump:",
  //    58+       "@173000G",
  //    59+       "This must be Thursday?",
  //    60+       "What a party...",
  //    61+       "Confirmed.",
  //    62+       "Right? ... Check!",
  //    63+       "$ SET NOCONTROL_Y",
  //    64+       "Noohoosferra Burzi??",
  //    65+       "Welcome to VAX/VMS v^O",
  //    66+       "Mostly Harmless...",
  //    67+       "VAX user service resu",
  //    68+       "prepare to die",
  //    69+       "Ecce Ecce F'tang",
  //    70+       "page owner violation",
  //    71+       "We wants a shrubbery",
  //    72+       "European or African??",
  //    73+       "Can I have a synopsys?",
  //    74+       "Kohilla Kohilla Splugh",
  //    75+       "Conversing...",
  //    76+       "%PAS-F-CASSELBOU",
  //    77+       "Baroque is Beautiful",
  //    78+       "WSLXVANMAT",
  //    79+       "**END**",
  //    80+       "Heeee-Haw.",
  //    81+       "Kirk to Enterprise...",
  //    82+       "Zot!",
  //    83+       "You must be joking",
  //    84+       "[] : *a list",
  //    85+       "false : bool",
  //    86+       "47 : num",
  //    87+       "- : elephant",
  //    88+       "[-;-] : butterfly list",
  //    89+       "You need more monkeys.",
  //    90+       "Have a gorilla..",
  //    91+       "Have a chocolate frog.",
  //    92+       "->@putslice(1:0,fred)",
  //    93+       "POSITIVE shields!!!",
  //    94+       "WHAT WHAT WHAT WHAT??",
  //    95+       "what what What WHAT??",
  //    96+       "addr(253)",
  //    97+       "* Form          |",
  //    98+       "SWITCH,SWITCH,SWITCH",
  //    99+       "TICK,TICK,TICK,TICK",
  //   100+       "string(addr(p_p1))=""""",
  //   101+       "Failure: m0",
  //   102+       "Mind if I smoke?",
  //   103+       "External missing",
  //   104+       "Int:.",
  //   105+       "BDBDBD Hi there, Buck.",
  //   106+       "0000 *a*",
  //   107+       "0 files",
  //   108+       "Hi there, Steve.",
  //   109+       "Cif:",
  //   110+       "Weebles wobble.",
  //   111+       "Stopped.",
  //   112+       "You Have Mail.",
  //   113+       "Play it again, Sam.",
  //   114+       "Play it again, Sid.",
  //   115+       "You have been Warned.",
  //   116+       ">%c",
  //   117+       ">(l0(f1/!/l40\f/!/)0)0",
  //   118+       "Apologies accepted.",
  //   119+       "Push the button, Max.",
  //   120+       "Try Oiling it.",
  //   121+       "Caimbridge, caimbridge",
  //   122+       "Dont Panic. Dont Panic",
  //   123+       "Coffee time...",
  //   124+       "Time to feed the alien",
  //   125+       "Complexity = O(nlog(n)",
  //   126+       "Disk reversal error.",
  //   127+       "PDS is on the bridge",
  //   128+       "PSR has been and gone",
  //   129+       "We'd better call Stan.",
  //   130+       "Sid is innocent!",
  //   131+       "Oh no, not again.",
  //   132+       "Beep-beep.",
  //   133+       "Page Page Page",
  //   134+       "Swap Swap Swap",
  //   135+       "Oh, Good grief",
  //   136+       "Get the Purple One",
  //   137+       "Put it in the curry",
  //   138+       "Rooner Spools OK",
  //   139+       "Slide rules OK",
  //   140+       "Dyslexia rules KO",
  //   141+       "Queen rules UK",
  //   142+       "Apathy might rule OK",
  //   143+       "Cannot open input.",
  //   144+       "%SYSTEM-F-ABORT,abort",
  //   145+       "NO.",
  //   146+       "Phasers locked on.",
  //   147+       "Shields are now dead.",
  //   148+       "*indentation       |",
  //   149+       "No more room in cube",
  //   150+       "Filename:",
  //   151+       "Invalid Password.",
  //   152+       "SET [ DEAD ]",
  //   153+       "SET [ **EOT** ]",
  //   154+       "My brain hurts",
  //   155+       "*T .BG;CA",
  //   156+       "Reel..Zot..Clamp",
  //   157+       "Trund!!",
  //   158+       "Beware of the Trund",
  //   159+       "Illegal opcode",
  //   160+       "Dont even Bother",
  //   161+       "WET PAINT",
  //   162+       "** CONSOLE FAILURE",
  //   163+       "** OUTPUT LOST",
  //   164+       "Are you sure ?",
  //   165+       "Delete?",
  //   166+       "** Too many externals",
  //   167+       "Host:v",
  //   168+       "Number 149",
  //   169+       "Rivet. Rivet.",
  //   170+       "Try typing <return>",
  //   171+       "Type Q to quit",
  //   172+       "SYN SYN SYN RABBIT",
  //   173+       "%diagnose 2<<14+255",
  //   174+       "//EXEC FORT",
  //   175+       "Beam me up, Scotty!!",
  //   176+       "Glad to be of service.",
  //   177+       "Tap out the code....",
  //   178+       "Wretched, isn't it?",
  //   179+       "MCR>PIP *.*;*/DE",
  //   180+       "X.IMP deleted",
  //   181+       "...a collum matrix...",
  //   182+       "PHUT-THINK-CLICK",
  //   183+       "%endofprogramme",
  //   184+       "1 statements compiled",
  //   185+       "Coojagoa Burzi??",
  //   186+       "I/O Silver.",
  //   187+       "OKOKOKKO @",
  //   188+       ".LT1 *A*",
  //   189+       "Hello lift",
  //   190+       ".KJOB",
  //   191+       "your days are numbered",
  //   192+       "** CRASH IMMINENT",
  //   193+       "Wargle Wargle",
  //   194+       "57 varieties",
  //   195+       "_OPA0: ""Backup",
  //   196+       "Regardez, gentlemen..",
  //   197+       "What, pray tell??",
  //   198+       "So what, Mark?",
  //   199+       "Fiddle-de-dee",
  //   200+       "42",
  //   201+       "Forty-Two",
  //   202+       "42=7*9",
  //   203+       "RND(X) = 17 for all X",
  //   204+       "xxx~~~//][()?",
  //   205+       "Live long and prosper",
  //   206+       "Pass your maths, guyyz",
  //   207+       "Space, it says, is BIG",
  //   208+       "We've got you covered",
  //   209+       "NEGATIVE shields.",
  //   210+       ">M-*k*;%c",
  //   211+       "Chewbacca is cuddly",
  //   212+       "Apathetic bloddy panic",
  //   213+       "Metaphysical Imagery..",
  //   214+       "I'm running out of Ink",
  //   215+       "BNAG!!!!!",
  //   216+       "HNAG!!!!!",
  //   217+       "Fs link HNUG?",
  //   218+       "CODE+GLAP+DIAGS=0",
  //   219+       "** corrupt diags",
  //   220+       "** diagnostics looping",
  //   221+       "**execution error:ille",
  //   222+       "** Segment error",
  //   223+       "LIB - *FATAL*",
  //   224+       "Edwin error 14.",
  //   225+       "[0 XACTIONS AFFECTED]",
  //   226+       "I am lying.",
  //   227+       "Coruscate, coruscate",
  //   228+       "Geezanarra DECtape",
  //   229+       ".(",
  //   230+       "Type YES to continue",
  //   231+       "SAY ""XYZZY""",
  //   232+       "SAY ""PLUGH""",
  //   233+       "Clams got arms!",
  //   234+       "Clams got livers!",
  //   235+       "*CRASH*",
  //   236+       "FRED OBJ not on DT2",
  //   237+       "Alarm set for 08:00",
  //   238+       "The Bells....",
  //   239+       "*** Spelling errur",
  //   240+       "* Processor head crash",
  //   241+       "mouldy breadboard err",
  //   242+       "sliced breadboard err",
  //   243+       "greasy chip error",
  //   244+       "Resistance is Useless!",
  //   245+       "Production rules OK",
  //   246+       "ZZZZZZZZZZzzzzzzzz....",
  //   247+       "Merde alors",
  //   248+       "Foute-moi le camp!",
  //   249+       "Scheiss ab!",
  //   250+       "Va t'en faire baiser",
  //   251+       "Pisse-toi, salaud!",
  //   252+       "`X' (attrib Schulze)",
  //   253+       "----------------------",
  //   254+       "PASCAL is good AS CLAP",
  //   255+       "Zaphod's just zis guy.",
  //   256+       "Dis is vot ve find....",
  //   257+       ".BLISS is ignorance",
  //   258+       "Pickle a squirrel",
  //   259+       "Eat a beaver",
  //   260+       "We hates it...",
  //   261+       "Ian was here",
  //   262+       "TANSTAAFL",
  //   263+       "Elbereth",
  //   264+       "Haunting you is fun...",
  //   265+       "You need another quote",
  //   266+       "EEEEXXXXXcellent !!",
  //   267+       "HAUNT HAUNT !!",
  //   268+       "TJ's for BMs OK!",
  //   269+       "Sauron Lives",
  //   270+       "Zap a Balrog - TODAY",
  //   271+       "Its a FEATURE!!!",
  //   272+       "I shall return...",
  //   273+       "Let us pray",
  //   274+       "%MOUSES-I-HI_THERE",
  //   275+       "Ho, Hummmmmm",
  //   276+       "Have a nasty day!",
  //   277+       "I WANNA COOKIE!!!",
  //   278+       "Share and enjoy",
  //   279+       "P_dsno = P_ssno+17",
  //   280+       "Suicide is painless",
  //   281+       "Laura rules!",
  //   282+       "Polly wants a biscuit",
  //   283+       "It's the rugby club",
  //   284+       "Time for moussaka",
  //   285+       "%SLART-E-BARFAAST",
  //   286+       "I'm a FORTRAN man!!!",
  //   287+       "Nibble a happy warthog",
  //   288+       "T. Dream time!!",
  //   289+       "Ve are ze robots!!",
  //   290+       "yojne dna erahS",
  //   291+       "FrreeeyyyOOOWWWW!!!",
  //   292+       "Structured BASIC ????",
  //   293+       "%Rms-e-korsakoff",
  //   294+       "NOPR-ERR",
  //   295+       "Clams got legs!!!",
  //   296+       "Wheeeeeeeeeeeee!!",
  //   297+       "EM Char in stmt",
  //   298+       "Mouses rules OK",
  //   299+       "IMP yourself today",
  //   300+       "Hi there",
  //   301+       "Yummmmmmmmm",
  //   302+       "Mouses rules OK",
  //   303+       "Have a nice day!",
  //   304+       "Friend or foe???",
  //   305+       "EMAS is great (honest)",
  //   306+       "%MTHLIB-E-FLOOVEMAT",
  //   307+       "Another silly message",
  //   308+       "As you wish, so be it.",
  //   309+       "You may call me Mazda.",
  //   310+       "Groovy, man.",
  //   311+       "%control K'101011'",
  //   312+       "PROCESS RUNNING",
  //   313+       "movl #^xDEAD, r0",
  //   314+       "movl #^xB00B, r0",
  //   315+       "Filestore down til 11",
  //   316+       "Error: ';' expected",
  //   317+       "Another layer of metal",
  //   318+       "You have mail from SM",
  //   319+       "TEXT FOR F?",
  //   320+       "AV nowhere to be found",
  //   321+       "BDKH:BAD SEGMENT"
  //   322     %INTEGER %FN random messno

  int RANDOMMESSNO(void) {
    //   323        %OWN %INTEGER k1 = 0

    static int K1 = 0;

    //   324        %INTEGER k2

    int K2;

    //   325        %CYCLE

  L_0001:;

  //   326           k1 = (k1*125 + 1) & 16383

    K1 = K1 * 125 + 1 & 16383;

    //   327           k2 = IMOD(k1)

    K2 = _imp_IMOD(K1);

    //   328           k2 = REM(k2,max messages+1)

    K2 = REM(K2, 303 + 1);

    //   329           %RESULT = k2 %IF 0 <= k2 <= max messages

    {
      // Double-sided test on K2 (Part I)
      int tmp;
      if (0 > (tmp = K2)) goto L_0002;
      // Double-sided test on K2 (Part II)
      if (tmp > 303) goto L_0002;
    }
    return K2;
  L_0002:;

  //   330        %REPEAT

    goto L_0001;

    //   331     %END

  } /* end of RANDOMMESSNO */

  //   332     %IF dummy="" %THEN %START


  /* clang-format off */
if (_imp_strcmp((_imp_string *)/*?*/&DUMMY, (_imp_string *)/*?*/_imp_str_literal_ptr("")) != 0) goto L_0003;

    /* clang-format on */

    //   333        num victims = 0

  NUMVICTIMS = 0;

  //   334        PROMPT("Victim:")

  _imp_PROMPT(_imp_str_literal_size(15, "Victim:"));

  //   335        %WHILE num victims <= max victims %CYCLE

L_0004:;
  if (NUMVICTIMS > 10) goto L_0005;

    //   336           proc name = ""


  /* clang-format off */
_imp_strncpy(/*?*/&PROCNAME, ({__typeof__(_imp_string255) tmp;/*B*/ tmp = _imp_str_literal(""); (void *)&tmp;}), /*max:*/15);

  /* clang-format on */

  //   337           SKIP SYMBOL %WHILE NEXT CH <= ' ' %AND NEXT CH # 25

L_0006:;
  if (_imp_NEXTCH() > 32) goto L_0007;
  if (_imp_NEXTCH() == 25) goto L_0007;
  _imp_SKIPSYMBOL();
  goto L_0006;
L_0007:;

//   338           %EXIT %IF NEXT CH = 25

  if (_imp_NEXTCH() != 25) goto L_0008;
  goto L_0005;
L_0008:;

//   339           %WHILE NEXT SYMBOL # NL %CYCLE

L_0009:;
  if (_imp_NEXTSYMBOL() == 10) goto L_000A;

    //   340              proc name = proc name . TO STRING(NEXT SYMBOL)


  /* clang-format off */
_imp_strncpy(/*?*/&PROCNAME, ({__typeof__(_imp_string255) tmp;/*B*/ tmp = *({_imp_string255 tmp = _imp_join((_imp_string *)/*?*/&PROCNAME, ({__typeof__(_imp_string1) tmp; /*E*/ tmp = _imp_TOSTRING(_imp_NEXTSYMBOL()); (void *)&tmp;})); (_imp_string255 *)&tmp;}); (void *)&tmp;}), /*max:*/15);

  /* clang-format on */

  //   341              SKIP SYMBOL

  _imp_SKIPSYMBOL();

  //   342           %REPEAT

  goto L_0009;
L_000A:;

//   343           %EXIT %IF proc name = ".end" %OR proc name = ".END"


  /* clang-format off */
if (_imp_strcmp((_imp_string *)/*?*/&PROCNAME, (_imp_string *)/*?*/_imp_str_literal_ptr(".end")) == 0) goto L_000B;

  /* clang-format on */

  /* clang-format off */
if (_imp_strcmp((_imp_string *)/*?*/&PROCNAME, (_imp_string *)/*?*/_imp_str_literal_ptr(".END")) != 0) goto L_000C;

/* clang-format on */
L_000B:;
  goto L_0005;
L_000C:;

//   344           num victims = num victims + 1

  NUMVICTIMS = NUMVICTIMS + 1;

  //   345           victim(num victims) = proc name


  /* clang-format off */
_imp_strncpy(/*?*/&VICTIM[NUMVICTIMS - 1], ({__typeof__(_imp_string15) tmp;/*B*/ tmp = PROCNAME; (void *)&tmp;}), /*max:*/15);

  /* clang-format on */

  //   346        %REPEAT

  goto L_0004;
L_0005:;

//   347     %FINISH %ELSE %START

  goto L_000D;
L_0003:;

//   348        victim(1) = dummy


  /* clang-format off */
_imp_strncpy(/*?*/&VICTIM[0], ({__typeof__(_imp_string255) tmp;/*B*/ tmp = DUMMY; (void *)&tmp;}), /*max:*/15);

  /* clang-format on */

  //   349        num victims = 1

  NUMVICTIMS = 1;

  //   350     %FINISH

L_000D:;

//   351     %CYCLE times = 1, 1, max times

  // %for TIMES = 1, 1, MAXTIMES %cycle
  {
    int _final = MAXTIMES;
    if (invalid_for_loop(1, 1, _final)) _imp_signal(5, 1, 0, "Illegal cycle TIMES = 1, 1, MAXTIMES");
    TIMES = 0;
  L_000E:
    if (TIMES == _final) goto L_000F;
    TIMES += 1;

    //   352        D DELAY(delay)

    DDELAY(DELAY);

    //   353        %CYCLE this victim = 1, 1, num victims

    // %for THISVICTIM = 1, 1, NUMVICTIMS %cycle
    {
      int _final = NUMVICTIMS;
      if (invalid_for_loop(1, 1, _final)) _imp_signal(5, 1, 0, "Illegal cycle THISVICTIM = 1, 1, NUMVICTIMS");
      THISVICTIM = 0;
    L_0011:
      if (THISVICTIM == _final) goto L_0012;
      THISVICTIM += 1;

      //   354           selected = random mess no

      SELECTED = RANDOMMESSNO();

      //   355           !!NOTIFY(victim(this victim)."""".message(selected))
      //   356           printstring(message(selected)); newline

      _imp_PRINTSTRING(
          /* clang-format off */
*({  __typeof__(_imp_string22) tmp = MESSAGE[SELECTED]/*q*/;  (_imp_string255 *)&tmp;  })
          /* clang-format on */
      );
      _imp_NEWLINE();

      //   357        %REPEAT

      goto L_0011;
    }

  L_0012:;

  //   358     %REPEAT

    goto L_000E;
  }

L_000F:;

//   359  %END

  return;
} /* end of HAUNT */

// ?BLURB unused
// ?PROCNO unused
//   360
//   361  %begin

int main(int argc, char **argv) { /*%begin*/
  _imp_initialise(argc, argv);

  //   362    select output(0)

  _imp_SELECTOUTPUT(0);

  //   363    haunt("user")

  HAUNT(_imp_str_literal("user"));

  //   364  %end

  _imp_stop(0);
  return 0;
end_0:;
}

//   365
//   366  %ENDOFFILE