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