#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  _imp_enter();
  typedef struct F {
    int A;
    int B;

  } F;
  F A[10 - 1 + 1];
  auto _imp_string FN(F * A) {
    _imp_enter();
    return (_imp_str_literal("A"));
    _imp_leave();
  }
  static _imp_string OS = _imp_str_literal("BCD");
  int I;
  _imp_string RES;
  for (I = 1; I != 10 + 1; I += 1) A.A = ADDR(OS);
  RES = _imp_join(
      _imp_str_literal("XYZ"),
      _imp_join(FN(A),
                _imp_join(_imp_str_literal("PQR"),
                          _imp_join(STRING(A.A), _imp_str_literal("END")))));
  if (RES == _imp_str_literal("XYZAPQRBCDEND"))
    PRINTSTRING(_imp_str_literal("TEST OK"));
  else
    PRINTSTRING(_imp_join(_imp_str_literal("FAILED =>"), RES));
  _imp_leave();
  exit(0);
  return (0);
}
