// Evaluates to a string of the ordinal suffix of a number (1st, 2nd, 3rd, etc) #define NatSuf(%1) ((%1 + 9) % 10 >= 3 || (%1 + 89) % 100 < 3 ? "th" : (%1 % 10) == 1 ? "st" : (%1 % 10) == 2 ? "nd" : "rd")