Write a function/method/subroutine/... that when given an integer greater than or equal to zero returns a string of the number followed by an apostrophe then the ordinal suffix.



Example

Returns would include 1'st 2'nd 3'rd 11'th 111'th 1001'st 1012'th



Task

Use your routine to show here the output for at least the following (inclusive) ranges of integer inputs:
0..25, 250..265, 1000..1025


Note: apostrophes are now optional to allow correct apostrophe-less English.




  [ table ]                is suffix   (   n --> $ )
 
  $ "th st nd rd th th th th th th"
  nest$ witheach [ ' suffix put ]
 
  [ dup number$ 
    swap dup 100 mod 
    10 21 within iff
      [ drop $ "th" join ]
    else
      [ 10 mod 
        suffix join ] ]    is ordinal$ (   n --> $ )
 
  [ over - 1+
    [] swap times 
      [ over i^ + ordinal$ 
        nested join ]
    nip  50 wrap$ ]        is test     ( n n -->   )
 
  0 25 test 
  cr
  250 265 test
  cr
  1000 1025 test