fork(3) download
  1. import Control.Applicative -- not needed in GHC 7.10
  2.  
  3. p x|x<2/3=(3!x)3"3212"3
  4. p x=(0.5!x)1"45423"2
  5. (k!x)l s m=do{i<-[0,x..];[' ',s!!(2+f(i+x)-f i)]}:do{i<-[0,l*x..];s!!mod(f i)m:" "}:p(k*x)
  6. t n=take$2*n+1
  7. main=do(w,h)<-readLn;putStr.unlines.t h$t w<$>p 1
Success #stdin #stdout 0s 4788KB
stdin
(40,20)
stdout
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 
4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4
 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 
3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3
 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 2 3 
4 5 5 4 4 5 5 4 4 5 5 4 4 5 5 4 4 5 5 4 4 5 5 4 4 5 5 4 4 5 5 4 4 5 5 4 4 5 5 4 4
 4 2 2 2 4 2 2 2 4 2 2 2 4 2 2 2 4 2 2 2 4 2 2 2 4 2 2 2 4 2 2 2 4 2 2 2 4 2 2 2 
4 4 5 4 5 5 4 5 4 4 5 4 5 5 4 5 4 4 5 4 5 5 4 5 4 4 5 4 5 5 4 5 4 4 5 4 5 5 4 5 4
 1 1 2 1 1 2 1 2 1 1 2 1 1 2 1 2 1 1 2 1 1 2 1 2 1 1 2 1 1 2 1 2 1 1 2 1 1 2 1 2 
3 2 1 3 2 1 3 2 3 2 1 3 2 1 3 2 3 2 1 3 2 1 3 2 3 2 1 3 2 1 3 2 3 2 1 3 2 1 3 2 3
 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 3 
4 5 4 5 4 5 4 5 5 4 5 4 5 4 5 4 4 5 4 5 4 5 4 5 5 4 5 4 5 4 5 4 4 5 4 5 4 5 4 5 5
 1 2 1 2 1 2 1 2 2 1 2 1 2 1 2 2 1 2 1 2 1 2 1 2 2 1 2 1 2 1 2 2 1 2 1 2 1 2 1 2 
3 2 3 1 3 1 2 1 2 3 2 3 1 3 1 2 3 2 3 1 3 1 2 1 2 3 2 3 1 3 1 2 3 2 3 1 3 1 2 1 2
 2 3 3 2 3 3 2 3 3 2 3 3 2 3 3 3 2 3 3 2 3 3 2 3 3 2 3 3 2 3 3 3 2 3 3 2 3 3 2 3 
4 5 5 5 4 4 4 5 5 5 4 4 4 5 5 5 5 4 4 4 5 5 5 4 4 4 5 5 5 4 4 4 4 5 5 5 4 4 4 5 5
 4 2 2 2 2 2 4 2 2 2 2 2 4 2 2 2 2 2 2 4 2 2 2 2 2 4 2 2 2 2 2 2 4 2 2 2 2 2 4 2 
4 4 5 4 5 4 5 5 4 5 4 5 4 4 5 4 5 4 5 4 4 5 4 5 4 5 5 4 5 4 5 4 5 5 4 5 4 5 4 4 5
 1 1 2 1 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 1 1 2 1 2 1 1 2 1 2 1 2 1 1 2 1 2 1 2 1 1 
3 2 1 3 1 3 2 1 2 1 3 2 3 2 1 3 1 3 2 3 2 1 3 1 3 2 1 2 1 3 2 3 2 1 2 1 3 2 3 2 1
 2 2 2 3 2 2 2 3 2 2 2 3 2 2 2 3 2 2 3 2 2 2 3 2 2 2 3 2 2 2 3 2 2 3 2 2 2 3 2 2 
4 5 4 5 5 4 5 4 4 5 4 5 5 4 5 4 4 5 4 4 5 4 5 5 4 5 4 4 5 4 5 5 4 5 5 4 5 4 4 5 4
 1 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 1 2 2 1 2 2 1 2 2 1 2 
3 2 3 1 2 3 1 2 3 1 3 1 2 3 1 2 3 1 2 3 2 3 1 2 3 1 2 3 1 2 1 2 3 1 2 3 1 2 3 1 3
 2 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 2 
4 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 5
 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 
4 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 5 5
 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 1 
3 2 1 2 1 2 1 3 1 3 1 3 1 3 2 3 2 3 2 3 2 1 2 1 2 1 2 1 3 1 3 1 3 2 3 2 3 2 3 2 1
 2 2 3 2 3 2 2 3 2 3 2 3 2 2 3 2 3 2 3 2 2 3 2 3 2 3 2 2 3 2 3 2 2 3 2 3 2 3 2 2 
4 5 4 4 5 5 4 5 5 4 4 5 5 4 5 5 4 4 5 5 4 5 5 4 4 5 5 4 5 5 4 4 5 4 4 5 5 4 4 5 4
 4 2 2 4 2 2 4 2 2 2 4 2 2 4 2 2 2 4 2 2 4 2 2 2 4 2 2 4 2 2 2 4 2 2 4 2 2 2 4 2 
4 4 5 4 4 5 4 4 5 4 5 5 4 5 5 4 5 4 4 5 4 4 5 4 5 5 4 5 5 4 5 4 4 5 4 4 5 4 5 5 4
 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 2 1 1 2 1 1 2 1 1 2 
3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 1 3 2 1 3 2 1 3 2 1 3
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 2 2 2 2 2 2 
4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 4 5 4 5 4 5 4 5 4 5 4 5 4 5 4 4 5 4 5 4 5 4 5 4 5 4
 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 2 1 2 1 2 1 2 1 2 1 2 
3 2 3 2 3 1 3 1 3 1 2 1 2 1 2 3 2 3 2 3 1 3 1 3 1 2 1 2 1 2 3 2 3 2 3 1 3 1 3 1 2
 2 3 2 3 3 2 3 2 3 3 2 3 2 3 3 2 3 2 3 3 2 3 2 3 3 2 3 2 3 3 2 3 2 3 3 2 3 2 3 3