#include <perms.h>
int _imp_mainep(int _imp_argc, char **_imp_argv) {
  _imp_enter();
  const int AMAX = 3;
  const int MAX = 8;

  typedef struct X {
    char A[AMAX - 0 + 1];
    X *LINK;

  } X;
  X *RXX;
  X *RYY;
  int I;
  auto void DUMPX(X * P) {
    _imp_enter();
    int I;
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ if (P == ()) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ PRINTSTRING(
          _imp_join(_imp_str_literal(" sizeof(p) ='"),
                    _imp_join(, _imp_str_literal("'"))));

    } else { /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      PRINTSTRING(_imp_join(_imp_str_literal(" sizeof(p) ='"),
                            _imp_join(, _imp_str_literal("'"))));
    } /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    if (P == ()) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ PRINTSTRING(_imp_join(
          _imp_str_literal(" p ='"), _imp_join(, _imp_str_literal("'"))));

    } else { /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      PRINTSTRING(_imp_join(_imp_str_literal(" p ='"),
                            _imp_join(, _imp_str_literal("'"))));
    } /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    if (P->LINK == ()) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ PRINTSTRING(_imp_join(
          _imp_str_literal(" p_link ='"), _imp_join(, _imp_str_literal("'"))));

    } else { /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      PRINTSTRING(_imp_join(_imp_str_literal(" p_link ='"),
                            _imp_join(, _imp_str_literal("'"))));
    } /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
    PRINTSTRING(_imp_join(_imp_str_literal(" p_b = "), ));
    SPACES(4);
    for (I = 0; I != AMAX + 1; I += 1) {
      /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ /*ERROR: name_sym_idx is -1!*/
      /*C_NAME*/ PRINTSTRING(
          _imp_join(_imp_str_literal(" a("),
                    _imp_join(, _imp_join(_imp_str_literal(") == "), ))));
    }
    NEWLINE();
    _imp_leave();
  }
  PRINTSTRING(_imp_str_literal("Now to allocate memory"));
  NEWLINE(); /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
  RXX = &;
  for (I = 0; I != MAX - 1 + 1; I += 1) {
    /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ RYY = &;
    RYY->B = I;
    RYY->LINK = RXX;
    RXX = RYY;
    DUMPX(RXX);
  }
  PRINTSTRING(_imp_str_literal("Now to free memory"));
  NEWLINE();
  while (/*ERROR: name_sym_idx is -1!*/ /*C_NAME*/ RXX != ()) {
    RYY = RXX;
    RXX = &RXX->LINK;
    DUMPX(RYY); /*ERROR: name_sym_idx is -1!*/    /*C_NAME*/
    if (RYY != ()) /*ERROR: name_sym_idx is -1!*/ /*C_NAME*/
      ;
  }

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