#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  _imp_enter();
  typedef struct F {
    F *LINK;
    int I;
    int J;
    int K;

  } F;
  auto void FRED(int I, F R);
  F P;
  F Q;
  P.I = 10;
  P.J = 11;
  Q = P;
  FRED(1, Q);
  P = 0;
  Q = 0;
  FRED(2, 0);
  PRINTSTRING(_imp_str_literal("TEST OK"));
  auto void FRED(int DUMMY, F R) {
    _imp_enter();
    if (R.I != P.I && R.J != P.J) {
      _imp_monitor(0);
      exit(0);
    }
    R.I = 33;
    R.J = 1;
    if (P.I != Q.I && P.J != Q.J) {
      _imp_monitor(0);
      exit(0);
    }
    _imp_leave();
  }

  _imp_leave();
  exit(0);
  return (0);
}
