1
2
3
4
5
6
7
8
9
10
11
12
t=32; n=[t]; u=[0]*t;
[[19, 6, proc {|v| n.push v+97 }, [[197, 92116], [817, 84115]], ], 
 [19, 4, proc {|v| n.push v+46 }, [[1, 57656]], ],
 [ 2, 8, proc {|v| u.unshift v }, [[0, 424]], ],
 [17, 5, proc {|v| print((n[v] - t * u.shift).chr)}, [
      [6, 55787], [8, 90073], [8, 69112], [5, 18690],
      [7, 25332], [7, 66371], [38, 99871], [36, 14378],
    ],
  ],
].each do |m, c, p, ab|
  ab.each {|a,b|  srand(a); b.times { rand(m) }; c.times { p.call(rand(m))} }
end