text: /* Generated by re2c */
  // re2c $INPUT -o $OUTPUT -i
  #include <stdio.h>
  #include <string.h>
  
  #define YYMAXFILL 10
  
  static const size_t SIZE = 4096;
  
  struct input_t {
      char buf[SIZE + YYMAXFILL];
      char *lim;
      char *cur;
      char *tok;
      bool eof;
  
      input_t()
          : buf()
          , lim(buf + SIZE)
          , cur(lim)
          , tok(lim)
          , eof(false)
      {}
      bool fill(size_t need)
      {
          if (eof) {
              return false;
          }
          const size_t free = tok - buf;
          if (free < need) {
              return false;
          }
          memmove(buf, tok, lim - tok);
          lim -= free;
          cur -= free;
          tok -= free;
          lim += fread(lim, 1, free, stdin);
          if (lim < buf + SIZE) {
              eof = true;
              memset(lim, 0, YYMAXFILL);
              lim += YYMAXFILL;
          }
          return true;
      }
  };
  
  static bool lex(input_t & in, unsigned int &count)
  {
      for (count = 0;;) {
          in.tok = in.cur;
          
  {
  	char yych;
  	if ((in.lim - in.cur) < 10) if (!in.fill(10)) return false;
  	yych = *in.cur;
  	switch (yych) {
  	case 0x00:	goto yy2;
  	case '\n':	goto yy6;
  	case '"':	goto yy9;
  	case '\'':	goto yy11;
  	case '+':
  	case '-':	goto yy13;
  	case '0':	goto yy14;
  	case '1':	goto yy16;
  	case '2':
  	case '3':
  	case '4':
  	case '5':
  	case '6':
  	case '7':
  	case '8':
  	case '9':	goto yy18;
  	case 'A':
  	case 'B':
  	case 'C':
  	case 'D':
  	case 'E':
  	case 'G':
  	case 'H':
  	case 'I':
  	case 'J':
  	case 'K':
  	case 'L':
  	case 'N':
  	case 'O':
  	case 'P':
  	case 'Q':
  	case 'R':
  	case 'U':
  	case 'V':
  	case 'X':
  	case 'Y':
  	case 'Z':
  	case '_':
  	case 'a':
  	case 'b':
  	case 'c':
  	case 'd':
  	case 'e':
  	case 'g':
  	case 'h':
  	case 'i':
  	case 'j':
  	case 'k':
  	case 'l':
  	case 'n':
  	case 'o':
  	case 'p':
  	case 'q':
  	case 'r':
  	case 'u':
  	case 'v':
  	case 'x':
  	case 'y':
  	case 'z':	goto yy20;
  	case 'F':
  	case 'f':	goto yy23;
  	case 'M':
  	case 'm':	goto yy24;
  	case 'S':
  	case 's':	goto yy25;
  	case 'T':
  	case 't':	goto yy26;
  	case 'W':
  	case 'w':	goto yy27;
  	default:	goto yy4;
  	}
  yy2:
  	++in.cur;
  	{ return YYMAXFILL == in.lim - in.tok; }
  yy4:
  	++in.cur;
  yy5:
  	{ return false; }
  yy6:
  	++in.cur;
  	if (in.lim <= in.cur) if (!in.fill(1)) return false;
  	yych = *in.cur;
  	switch (yych) {
  	case '\n':	goto yy6;
  	default:	goto yy8;
  	}
  yy8:
  	{ continue; }
  yy9:
  	++in.cur;
  	if (in.lim <= in.cur) if (!in.fill(1)) return false;
  	yych = *in.cur;
  	switch (yych) {
  	case '"':	goto yy28;
  	case '\\':	goto yy30;
  	default:	goto yy9;
  	}
  yy11:
  	++in.cur;
  	if (in.lim <= in.cur) if (!in.fill(1)) return false;
  	yych = *in.cur;
  	switch (yych) {
  	case '\'':	goto yy31;
  	case '\\':	goto yy33;
  	default:	goto yy11;
  	}
  yy13:
  	yych = *++in.cur;
  	switch (yych) {
  	case '0':	goto yy14;
  	case '1':
  	case '2':
  	case '3':
  	case '4':
  	case '5':
  	case '6':
  	case '7':
  	case '8':
  	case '9':	goto yy18;
  	default:	goto yy5;
  	}
  yy14:
  	++in.cur;
  yy15:
  	{ ++count; continue; }
  yy16:
  	yych = *++in.cur;
  	switch (yych) {
  	case '0':
  	case '1':
  	case '3':
  	case '4':
  	case '5':
  	case '6':
  	case '7':
  	case '8':
  	case '9':	goto yy18;
  	case '2':	goto yy34;
  	default:	goto yy17;
  	}
  yy17:
  	{ ++count; continue; }
  yy18:
  	++in.cur;
  	if (in.lim <= in.cur) if (!in.fill(1)) return false;
  	yych = *in.cur;
  yy19:
  	switch (yych) {
  	case '0':
  	case '1':
  	case '2':
  	case '3':
  	case '4':
  	case '5':
  	case '6':
  	case '7':
  	case '8':
  	case '9':	goto yy18;
  	default:	goto yy15;
  	}
  yy20:
  	++in.cur;
  	if (in.lim <= in.cur) if (!in.fill(1)) return false;
  	yych = *in.cur;
  yy21:
  	switch (yych) {
  	case '0':
  	case '1':
  	case '2':
  	case '3':
  	case '4':
  	case '5':
  	case '6':
  	case '7':
  	case '8':
  	case '9':
  	case 'A':
  	case 'B':
  	case 'C':
  	case 'D':
  	case 'E':
  	case 'F':
  	case 'G':
  	case 'H':
  	case 'I':
  	case 'J':
  	case 'K':
  	case 'L':
  	case 'M':
  	case 'N':
  	case 'O':
  	case 'P':
  	case 'Q':
  	case 'R':
  	case 'S':
  	case 'T':
  	case 'U':
  	case 'V':
  	case 'W':
  	case 'X':
  	case 'Y':
  	case 'Z':
  	case '_':
  	case 'a':
  	case 'b':
  	case 'c':
  	case 'd':
  	case 'e':
  	case 'f':
  	case 'g':
  	case 'h':
  	case 'i':
  	case 'j':
  	case 'k':
  	case 'l':
  	case 'm':
  	case 'n':
  	case 'o':
  	case 'p':
  	case 'q':
  	case 'r':
  	case 's':
  	case 't':
  	case 'u':
  	case 'v':
  	case 'w':
  	case 'x':
  	case 'y':
  	case 'z':	goto yy20;
  	default:	goto yy22;
  	}
  yy22:
  	{ ++count; continue; }
  yy23:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'R':
  	case 'r':	goto yy35;
  	default:	goto yy21;
  	}
  yy24:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'O':
  	case 'o':	goto yy36;
  	default:	goto yy21;
  	}
  yy25:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'A':
  	case 'a':	goto yy37;
  	case 'U':
  	case 'u':	goto yy36;
  	default:	goto yy21;
  	}
  yy26:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'H':
  	case 'h':	goto yy38;
  	case 'U':
  	case 'u':	goto yy39;
  	default:	goto yy21;
  	}
  yy27:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'E':
  	case 'e':	goto yy40;
  	default:	goto yy21;
  	}
  yy28:
  	++in.cur;
  	{ ++count; continue; }
  yy30:
  	++in.cur;
  	if (in.lim <= in.cur) if (!in.fill(1)) return false;
  	yych = *in.cur;
  	goto yy9;
  yy31:
  	++in.cur;
  	{ ++count; continue; }
  yy33:
  	++in.cur;
  	if (in.lim <= in.cur) if (!in.fill(1)) return false;
  	yych = *in.cur;
  	goto yy11;
  yy34:
  	yych = *++in.cur;
  	switch (yych) {
  	case '0':
  	case '1':
  	case '2':
  	case '4':
  	case '5':
  	case '6':
  	case '7':
  	case '8':
  	case '9':	goto yy18;
  	case '3':	goto yy41;
  	default:	goto yy17;
  	}
  yy35:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'I':
  	case 'i':	goto yy42;
  	default:	goto yy21;
  	}
  yy36:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'N':
  	case 'n':	goto yy42;
  	default:	goto yy21;
  	}
  yy37:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'T':
  	case 't':	goto yy43;
  	default:	goto yy21;
  	}
  yy38:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'U':
  	case 'u':	goto yy44;
  	default:	goto yy21;
  	}
  yy39:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'E':
  	case 'e':	goto yy45;
  	default:	goto yy21;
  	}
  yy40:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'D':
  	case 'd':	goto yy46;
  	default:	goto yy21;
  	}
  yy41:
  	yych = *++in.cur;
  	switch (yych) {
  	case '4':	goto yy47;
  	default:	goto yy19;
  	}
  yy42:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'D':
  	case 'd':	goto yy48;
  	default:	goto yy21;
  	}
  yy43:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'U':
  	case 'u':	goto yy49;
  	default:	goto yy21;
  	}
  yy44:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'R':
  	case 'r':	goto yy45;
  	default:	goto yy21;
  	}
  yy45:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'S':
  	case 's':	goto yy42;
  	default:	goto yy21;
  	}
  yy46:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'N':
  	case 'n':	goto yy39;
  	default:	goto yy21;
  	}
  yy47:
  	yych = *++in.cur;
  	switch (yych) {
  	case '5':	goto yy50;
  	default:	goto yy19;
  	}
  yy48:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'A':
  	case 'a':	goto yy51;
  	default:	goto yy21;
  	}
  yy49:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'R':
  	case 'r':	goto yy42;
  	default:	goto yy21;
  	}
  yy50:
  	yych = *++in.cur;
  	switch (yych) {
  	case '0':
  	case '1':
  	case '2':
  	case '3':
  	case '4':
  	case '5':
  	case '7':
  	case '8':
  	case '9':	goto yy18;
  	case '6':	goto yy52;
  	default:	goto yy17;
  	}
  yy51:
  	yych = *++in.cur;
  	switch (yych) {
  	case 'Y':
  	case 'y':	goto yy53;
  	default:	goto yy21;
  	}
  yy52:
  	yych = *++in.cur;
  	switch (yych) {
  	case '0':
  	case '1':
  	case '2':
  	case '3':
  	case '4':
  	case '5':
  	case '6':
  	case '8':
  	case '9':	goto yy18;
  	case '7':	goto yy55;
  	default:	goto yy17;
  	}
  yy53:
  	yych = *++in.cur;
  	switch (yych) {
  	case '0':
  	case '1':
  	case '2':
  	case '3':
  	case '4':
  	case '5':
  	case '6':
  	case '7':
  	case '8':
  	case '9':
  	case 'A':
  	case 'B':
  	case 'C':
  	case 'D':
  	case 'E':
  	case 'F':
  	case 'G':
  	case 'H':
  	case 'I':
  	case 'J':
  	case 'K':
  	case 'L':
  	case 'M':
  	case 'N':
  	case 'O':
  	case 'P':
  	case 'Q':
  	case 'R':
  	case 'S':
  	case 'T':
  	case 'U':
  	case 'V':
  	case 'W':
  	case 'X':
  	case 'Y':
  	case 'Z':
  	case '_':
  	case 'a':
  	case 'b':
  	case 'c':
  	case 'd':
  	case 'e':
  	case 'f':
  	case 'g':
  	case 'h':
  	case 'i':
  	case 'j':
  	case 'k':
  	case 'l':
  	case 'm':
  	case 'n':
  	case 'o':
  	case 'p':
  	case 'q':
  	case 'r':
  	case 's':
  	case 't':
  	case 'u':
  	case 'v':
  	case 'w':
  	case 'x':
  	case 'y':
  	case 'z':	goto yy20;
  	default:	goto yy54;
  	}
  yy54:
  	{ ++count; continue; }
  yy55:
  	yych = *++in.cur;
  	switch (yych) {
  	case '0':
  	case '1':
  	case '2':
  	case '3':
  	case '4':
  	case '5':
  	case '6':
  	case '7':
  	case '9':	goto yy18;
  	case '8':	goto yy56;
  	default:	goto yy17;
  	}
  yy56:
  	yych = *++in.cur;
  	switch (yych) {
  	case '0':
  	case '1':
  	case '2':
  	case '3':
  	case '4':
  	case '5':
  	case '6':
  	case '7':
  	case '8':	goto yy18;
  	case '9':	goto yy57;
  	default:	goto yy17;
  	}
  yy57:
  	yych = *++in.cur;
  	switch (yych) {
  	case '0':
  	case '1':
  	case '2':
  	case '3':
  	case '4':
  	case '5':
  	case '6':
  	case '7':
  	case '8':
  	case '9':	goto yy18;
  	default:	goto yy17;
  	}
  }
  
      }
  }
  
  int main()
  {
      input_t in;
      unsigned int count;
      if (lex(in, count)) {
          printf("glorious %u numbers!\n", count);
      } else {
          printf("error\n");
      }
  
      return 0;
  }
  