//#include <imp_perms.h>
#include <stdio.h>
#include <stdlib.h>

// own OR const ARE EQUIVALENT HERE

//

// HTTPS://GTOAL.COM/IMP77/REFERENCE-MANUAL/IMP9-TO-IMP80.PDF

//

// 2) OWN ARRAYS CAN BE MULTI-DIMENSIONAL.  AS BEFORE, THE BOUNDS MUST

// BE CONSTANTS OR CONSTANT EXPRESSIONS.  THE ORDER IN WHICH ARRAY

// ELEMENTS ARE ASSIGNED THE INITIALISING VALUES IS SUCH THAT THE

// FIRST SUBSCRIPT CHANGES FASTEST.  THUS, FOR AN ARRAY A(1:2,1:3)

// THE ORDER OF ASSIGNMENT WOULD BE A(1,1), A(2,1), A(1,2), A(2,2),

// A(1,3), A(2,3)

//

static int D1[(1) - (0) + 1] = {1, 2};

static int A[(2) - (1) + 1][(3) - (1) + 1] = {11, 21, 12, 22, 13, 23};

int main(int _imp_argc, char **_imp_argv) {
  int I;
  int J;

  for (J = 1; J != (3) + (1); J += 1) {
    for (I = 1; I != (2) + (1); I += 1) {
      fprintf(stdout, "A(%d,%d) = %d\n", I, J, A[I-1][J-1]);
    }
  }

  exit(0);
  /* End of program */

}
