import java.io.*;
import java.util.*;
class CLDSTR{
int n = re.nextInt();
int p1 = re.nextInt();
int q1 = re.nextInt();
int m = re.nextInt();
int p2 = re.nextInt();
int q2 = re.nextInt();
double out = work(n, p1, q1, m, p2, q2);
System.
out.
printf("%.1f%n",out
); }
static double work(int N, int pS, int qS, int M, int pB, int qB){
int[] fS = new int[qS];
int[] fB = new int[qB];
int v = 1;
for(int i=0; i<N; i++){
v = (v*pS)%qS;
fS[v]++;
}
v = 1;
for(int i=0; i<M; i++){
v = (v*pB)%qB;
fB[v]++;
}
int iS, iB, max, min;
iS = qS-1;
iB = qB-1;
long avg = 0;
while(iS>=0 && iB>=0){
if(fS[iS]==0){
iS--;
continue;
}
if(fB[iB]==0){
iB--;
continue;
}
int m
= Math.
min(fS
[iS
], fB
[iB
]); avg += m*(iS-iB);
fS[iS] -= m;
fB[iB] -= m;
}
return (double)avg/max;
}
}
}
while(!st.hasMoreTokens())
return st.nextToken();
}
}
}
aW1wb3J0IGphdmEuaW8uKjsKaW1wb3J0IGphdmEudXRpbC4qOwpjbGFzcyBDTERTVFJ7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmcgYXJnc1tdKSB0aHJvd3MgRXhjZXB0aW9uewogICAgICAgIFJlYWRlciByZSA9IG5ldyBSZWFkZXIoU3lzdGVtLmluKTsKICAgICAgICBpbnQgbiA9IHJlLm5leHRJbnQoKTsKICAgICAgICBpbnQgcDEgPSByZS5uZXh0SW50KCk7CiAgICAgICAgaW50IHExID0gcmUubmV4dEludCgpOwogICAgICAgIGludCBtID0gcmUubmV4dEludCgpOwogICAgICAgIGludCBwMiA9IHJlLm5leHRJbnQoKTsKICAgICAgICBpbnQgcTIgPSByZS5uZXh0SW50KCk7CgogICAgICAgIGRvdWJsZSBvdXQgPSB3b3JrKG4sIHAxLCBxMSwgbSwgcDIsIHEyKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50ZigiJS4xZiVuIixvdXQpOwogICAgfQoKICAgIHN0YXRpYyBkb3VibGUgd29yayhpbnQgTiwgaW50IHBTLCBpbnQgcVMsIGludCBNLCBpbnQgcEIsIGludCBxQil7CiAgICAgICAgaW50W10gZlMgPSBuZXcgaW50W3FTXTsKICAgICAgICBpbnRbXSBmQiA9IG5ldyBpbnRbcUJdOwogICAgICAgIGludCB2ID0gMTsKICAgICAgICBmb3IoaW50IGk9MDsgaTxOOyBpKyspewogICAgICAgICAgICB2ID0gKHYqcFMpJXFTOwogICAgICAgICAgICBmU1t2XSsrOwogICAgICAgIH0KICAgICAgICB2ID0gMTsKICAgICAgICBmb3IoaW50IGk9MDsgaTxNOyBpKyspewogICAgICAgICAgICB2ID0gKHYqcEIpJXFCOwogICAgICAgICAgICBmQlt2XSsrOwogICAgICAgIH0KCiAgICAgICAgaW50IGlTLCBpQiwgbWF4LCBtaW47CiAgICAgICAgaVMgPSBxUy0xOwogICAgICAgIGlCID0gcUItMTsKICAgICAgICBtYXggPSBNYXRoLm1heChOLCBNKTsKICAgICAgICBtaW4gPSBNYXRoLm1pbihOLCBNKTsKICAgICAgICBsb25nIGF2ZyA9IDA7CiAgICAgICAgd2hpbGUoaVM+PTAgJiYgaUI+PTApewogICAgICAgICAgICBpZihmU1tpU109PTApewogICAgICAgICAgICAgICAgaVMtLTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmKGZCW2lCXT09MCl7CiAgICAgICAgICAgICAgICBpQi0tOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaW50IG0gPSBNYXRoLm1pbihmU1tpU10sIGZCW2lCXSk7CiAgICAgICAgICAgIGF2ZyArPSBtKihpUy1pQik7CiAgICAgICAgICAgIGZTW2lTXSAtPSBtOwogICAgICAgICAgICBmQltpQl0gLT0gbTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIChkb3VibGUpYXZnL21heDsKICAgIH0KfQoKY2xhc3MgUmVhZGVyewogICAgQnVmZmVyZWRSZWFkZXIgYnI7CiAgICBTdHJpbmdUb2tlbml6ZXIgc3Q7CiAgICBSZWFkZXIoSW5wdXRTdHJlYW0gaW4pIHRocm93cyBFeGNlcHRpb257CiAgICAgICAgYnIgPSBuZXcgQnVmZmVyZWRSZWFkZXIobmV3IElucHV0U3RyZWFtUmVhZGVyKGluKSk7CiAgICAgICAgc3QgPSBuZXcgU3RyaW5nVG9rZW5pemVyKCIiKTsKICAgIH0KCiAgICBTdHJpbmcgbmV4dCgpIHRocm93cyBFeGNlcHRpb257CiAgICAgICAgd2hpbGUoIXN0Lmhhc01vcmVUb2tlbnMoKSkKICAgICAgICAgICAgc3QgPSBuZXcgU3RyaW5nVG9rZW5pemVyKGJyLnJlYWRMaW5lKCkpOwogICAgICAgIHJldHVybiBzdC5uZXh0VG9rZW4oKTsKICAgIH0KCiAgICBpbnQgbmV4dEludCgpIHRocm93cyBFeGNlcHRpb257CiAgICAgICAgcmV0dXJuIEludGVnZXIucGFyc2VJbnQobmV4dCgpKTsKICAgIH0KfQoK