#include <perms.h>

//          Edinburgh IMP77 Compiler - Version 8.4
//
//     1  %begin

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

  //     2    %integer i,j,k

  int I;
  int J;
  int K;

  //     3    %integername m,n,p

  int *M;
  int *N;
  int *P;

  //     4    m == i

  M = (int *)/*?*/ &I;

  //     5    n == j

  N = (int *)/*?*/ &J;

  //     6    p == n

  P = (int *)N;

  //     7
  //     8    i = 2

  I = 2;

  //     9    j = 3

  J = 3;

  //    10    k = 4

  K = 4;

  //    11
  //    12    m = 5

  *M = 5;

  //    13    n = 6

  *N = 6;

  //    14    p = 7

  *P = 7;

  //    15
  //    16    i = i + 4

  I = I + 4;

  //    17    i = 4 + i

  I = 4 + I;

  //    18    i = j + k + m + n

  I = J + K + *M + *N;

  //    19    i = j + 2 + m + 3

  I = J + 2 + *M + 3;

  //    20    i = 2 + j + 3 + m

  I = 2 + J + 3 + *M;

  //    21
  //    22    p = i + 4

  *P = I + 4;

  //    23    p = 4 + i

  *P = 4 + I;

  //    24    p = j + k + m + n

  *P = J + K + *M + *N;

  //    25    p = j + 2 + m + 3

  *P = J + 2 + *M + 3;

  //    26    p = 2 + j + 3 + m

  *P = 2 + J + 3 + *M;

  //    27  %endofprogram

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