#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
class Suiji
{
private:
int R; //随机数种子
public:
Suiji(int r=1) //构造函数
{
R=r;
}
//产生0~1均匀分布的一个随机数
double rnd1()
{
int m;
double s,u,v,p;
s=65536.0;
u=2053.0;
v=13849.0;
m=(int)(R/s);
R=R-m*s;
R=u*R+v;
m=(int)(R/s);
R=(int)(R-m*s);
p=R/s;
return(p);
}
//产生给定区间[a,b]内均匀分布的一个随机整数
int rndab(int a, int b)
{
int k,j,m,i,p;
k=b-a+1;
j=2;
while (j<k) j=j+j;
m=4*j;
k=R;
i=1;
while (i<=1)
{
k=k+k+k+k+k;
k=k%m;
j=k/4+a;
if(j<=b)
{
p=j;
i=i+1;
}
}
R=k