#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  typedef struct F {
    int A;
    int B;
  } F;
  F A[10 /*1:10*/];
  _imp_string Fn(F A) { return (_imp_str_literal("A")); }
  static _imp_string Os = _imp_str_literal("BCD");
  int I;
  _imp_string Res;
  for (I = 1; I <= 10; I++) A[I].A = Addr(Os);
  Res = _imp_join(
      _imp_str_literal("XYZ"),
      _imp_join(Fn(A), _imp_join(_imp_str_literal("PQR"),
                                 _imp_join(*String(A[I].A),
                                           _imp_str_literal("END")))));
  if (_imp_strcmp(Res, _imp_str_literal("XYZAPQRBCDEND")) == 0)
    Printstring(_imp_str_literal("TEST OK"));
  else
    Printstring(_imp_join(_imp_str_literal("FAILED =>"), Res));
  exit(0);
  return (1);
}
