n = 5
m = 3
len result[] m
# 
proc combinations pos val . .
   if pos > m
      print result[]
      return
   .
   for i = val to pos + n - m
      result[pos] = i
      combinations pos + 1 i + 1
   .
.
combinations 1 1
