#include<bits/stdc++.h>
using namespace std;
int n;
int rxa,rxc,rya,ryc,rza,rzc;
int rp=2333333;
struct dom{
int num;
double sum;
}lo[500][500];
double ans=0;
double xy[2];
void work(){
cin>>n;
cin>>rxa>>rxc>>rya>>ryc>>rza>>rzc;
/*for(int i=1;i<=n;++i)
cin>>xg[i]>>yg[i];*/
int x=0,y=0,z=0;
int di=0;
for(int i=0;i<=50;++i)
for(int j=0;j<=50;++j){
lo[i][j].num=0;
lo[i][j].sum=0;
}
for(int i=1;i<=n;++i){
for(int j=1;j<=2;++j){
/*int x1=x,y1=y,z1=z;*/
x=(y*rxa+rxc)%rp;
y=(z*rya+ryc)%rp;
z=(x*rza+rzc)%rp;
xy[j]=(x%20)*1.0+(y%10)*1.0/10.0+(z%10)*1.0/100.0;
}//begin
lo[int(xy[1])][int(xy[2])].sum+=(xy[1]+xy[2]);
lo[int(xy[1])][int(xy[2])].num++;
}
for(int i=0;i<=20;++i)
for(int j=0;j<=20;++j)
for(int k=0;k<i;++k)
for(int m=0;m<j;++m){
di+=(double)lo[i][j].num*lo[k][m].num;
ans+=lo[i][j].sum*lo[k][m].num-(double)lo[k][m].sum*lo[i][j].num;
}
if(n==1 || di==0){
printf("0.00000");
return;
}
ans/=di;
printf("%0.5lf",ans);
return;
}
int main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
int _=1;
while(_--)work();
return 0;
}