func sumto n .
   return n * (n + 1) div 2
.
func coord2num row col n .
   diag = col + row
   if diag < n
      start = sumto diag
      if diag mod 2 = 0
         offs = col
      else
         offs = row
      .
   else
      start = n * n - sumto (2 * n - 1 - diag)
      offs = n - 1
      if diag mod 2 = 0
         offs -= row
      else
         offs -= col
      .
   .
   return start + offs
.
n = 6
numfmt 0 3
for row = 0 to n - 1
   for col = 0 to n - 1
      write coord2num row col n
   .
   print ""
.
