      static const char *s_argth(const unsigned int n_arg) {
        const char
          *_s_arg[] = { "", "First", "Second", "Third", "Fourth", "Fifth", "Sixth", "Seventh", "Eighth","Ninth",
                        "10th", "11th", "12th", "13th", "14th", "15th", "16th", "17th", "18th", "19th",
                        "20th", "21st", "22nd", "23rd", "24th", "25th", "26th", "27th", "28th", "One of the" };
        return _s_arg[n_arg<sizeof(_s_arg)/sizeof(char*)?n_arg:sizeof(_s_arg)/sizeof(char*)-1];
      }
      static const char *s_argth(const unsigned int n_arg) {
        const char
          *_s_arg[] = { "", "First", "Second", "Third", "Fourth", "Fifth", "Sixth", "Seventh", "Eighth","Ninth",
                        "10th", "11th", "12th", "13th", "14th", "15th", "16th", "17th", "18th", "19th",
                        "20th", "21st", "22nd", "23rd", "24th", "25th", "26th", "27th", "28th", "One of the" };
        return _s_arg[n_arg<sizeof(_s_arg)/sizeof(char*)?n_arg:sizeof(_s_arg)/sizeof(char*)-1];
      }