fork download
  1. K=->a,b{A,B=a,b;(0...A*B).each{|i|Z[[i]]};p"NOT POSSIBLE"}
  2. Z=->v{c=v.last
  3. abort (0...v.size).map{|i|{:i=>i+1,:x=>v[i]}}.sort_by{|i|i[:x]}.map{|i|i[:i]}.each_slice(B).map{|r|r*' '}*?\n if v.size==A*B
  4. ([[1,2],[2,1]].map{|l|[-1,1].repeated_permutation(2).map{|s|o=(c/B)+l[0]*s[0]
  5. u=(c%B)+l[1]*s[1]
  6. (o>=0&&0<=u&&A>o&&B>u)?o*B+u :-1}}.flatten-[-1]-v).each{|i|Z[v+[i]]}}
  7.  
  8. K[4,5]
Runtime error #stdin #stdout 0.02s 5408KB
stdin
Standard input is empty
stdout
Standard output is empty