#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, INC = 2, FINAL = 17

  int I;
  int INC;
  INC = 2;
  int FINAL;
  FINAL = 17;

  //     3    %for I = 1, INC, FINAL %cycle

  // %for I = 1, INC, FINAL %cycle
  {
    int _increment = INC, _final = FINAL;
    if (invalid_for_loop(1, _increment, _final)) _imp_signal(5, 1, 0, "Illegal cycle I = 1, INC, FINAL");
    I = 1 - _increment;
  L_0001:
    if (I == _final) goto L_0002;
    I += _increment;

    //     4      write(FINAL-INC, -1); newline

    _imp_WRITE(FINAL - INC, -1);
    _imp_NEWLINE();

    //     5      INC = 0 ; FINAL = FINAL-1

    INC = 0;
    FINAL = FINAL - 1;

    //     6    %repeat

    goto L_0001;
  }

L_0002:;

//     7  %endofprogram

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