#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,l,m,n

  int I;
  int J;
  int K;
  int L;
  int M;
  int N;

  //     3    %routine r

  void R(void) {
    //     4      %integer j,k,l,m,n

    int J;
    int K;
    int L;
    int M;
    int N;

    //     5      %routine r

    void R(void) {
      //     6        %integer k,l,m,n

      int K;
      int L;
      int M;
      int N;

      //     7        %routine r

      void R(void) {
        //     8          %integer l,m,n

        int L;
        int M;
        int N;

        //     9          %routine r

        void R(void) {
          //    10            %integer m,n

          int M;
          int N;

          //    11            r

          R();

          //    12            %routine r

          void R(void) {
            //    13              %integer n

            int N;

            //    14              i = j

            I = J;

            //    15              j = k

            J = K;

            //    16              k = l

            K = L;

            //    17              l = m

            L = M;

            //    18              m = n

            M = N;

            //    19              n = 1

            N = 1;

            //    20            %end

            return;
          } /* end of R */

          //    21            r

          R();

          //    22            i = j

          I = J;

          //    23            j = k

          J = K;

          //    24            k = l

          K = L;

          //    25            l = m

          L = M;

          //    26            m = n

          M = N;

          //    27            n = 1

          N = 1;

          //    28          %end

          return;
        } /* end of R */

        //    29          i = j

        I = J;

        //    30          j = k

        J = K;

        //    31          k = l

        K = L;

        //    32          l = m

        L = M;

        //    33          m = n

        M = N;

        //    34          n = 1

        N = 1;

        //    35        %end

        return;
      } /* end of R */

      //    36        i = j

      I = J;

      //    37        j = k

      J = K;

      //    38        k = l

      K = L;

      //    39        l = m

      L = M;

      //    40        m = n

      M = N;

      //    41        n = 1

      N = 1;

      //    42      %end

      return;
    } /* end of R */

    // ?R unused
    //    43      i = j

    I = J;

    //    44      j = k

    J = K;

    //    45      k = l

    K = L;

    //    46      l = m

    L = M;

    //    47      m = n

    M = N;

    //    48      n = 1

    N = 1;

    //    49    %end

    return;
  } /* end of R */

  // ?R unused
  //    50    i = j

  I = J;

  //    51    j = k

  J = K;

  //    52    k = l

  K = L;

  //    53    l = m

  L = M;

  //    54    m = n

  M = N;

  //    55    n = 1

  N = 1;

  //    56  %endofprogram

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