var rnd={init:function(s){void 0===s&&(s=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,this.sow(s)},rnd:function(){var s=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|s,this.s0=this.s1,this.s1=this.s2,this.s2=s-this.c,this.s2},sow:function(s){var t;void 0===s&&(s=[]),this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1;for(var h=0;t=s[h++];)this.s0-=this.hash(t),this.s0+=~~(this.s0<0),this.s1-=this.hash(t),this.s1+=~~(this.s1<0),this.s2-=this.hash(t),this.s2+=~~(this.s2<0)},hash:function(s){var t,h,i;for(i=4022871197,s=s.toString(),h=0;h>>0,i=(t*=i)>>>0,i+=4294967296*(t-=i);return 2.3283064365386963e-10*(i>>>0)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},integerInRange:function(s,t){return Math.floor(this.realInRange(0,t-s+1)+s)},realInRange:function(s,t){return this.frac()*(t-s)+s}};