#include <bits/stdc++.h>
using namespace std;
#define lb lower_bound
#define ub upper_bound
#define pb push_back
#define pf push_front
#define mp make_pair
#define gcd __gcd
#define all(x) x.begin(), x.end()
#define S(x) scanf("%d", &x)
#define Sl(x) scanf("%lld", &x)
#define P(x) printf("%d", x)
#define Pl(x) printf("%lld", x)
#define PS(x) printf("%s", x)
#define MOD 1000000007LL
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef pair<int, int> ii;
typedef vector<ii> vii;
double as[100005];
int main()
{
int t,n;
S(t);
double p;
while(t--) {
scanf("%d",&n);
scanf("%lf",&p);
as[0] = 0;
as[1] = 2;
as[2] = 2;
for(int i = 3; i <= n; i++) {
as[i] = (as[i-2]+2)*p + ((as[i-3]+2)*(1-p));
}
printf("%0.2lf\n", as[n]);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiAKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAojZGVmaW5lIGxiICAgICAgbG93ZXJfYm91bmQKI2RlZmluZSB1YiAgICAgIHVwcGVyX2JvdW5kCiNkZWZpbmUgcGIgICAgICBwdXNoX2JhY2sKI2RlZmluZSBwZiAgICAgIHB1c2hfZnJvbnQKI2RlZmluZSBtcCAgICAgIG1ha2VfcGFpcgojZGVmaW5lIGdjZCAgICAgX19nY2QKI2RlZmluZSBhbGwoeCkgIHguYmVnaW4oKSwgeC5lbmQoKQojZGVmaW5lIFMoeCkgICAgc2NhbmYoIiVkIiwgJngpCiNkZWZpbmUgU2woeCkgICBzY2FuZigiJWxsZCIsICZ4KQojZGVmaW5lIFAoeCkgICAgcHJpbnRmKCIlZCIsIHgpCiNkZWZpbmUgUGwoeCkgICBwcmludGYoIiVsbGQiLCB4KQojZGVmaW5lIFBTKHgpICAgcHJpbnRmKCIlcyIsIHgpCiNkZWZpbmUgTU9EICAgICAxMDAwMDAwMDA3TEwKIAp0eXBlZGVmIGxvbmcgbG9uZyAgICAgICBsbDsKdHlwZWRlZiB2ZWN0b3I8aW50PiAgICAgdmk7CnR5cGVkZWYgdmVjdG9yPHZpPiAgICAgIHZ2aTsKdHlwZWRlZiBwYWlyPGludCwgaW50PiAgaWk7CnR5cGVkZWYgdmVjdG9yPGlpPiAgICAgIHZpaTsKIApkb3VibGUgYXNbMTAwMDA1XTsKaW50IG1haW4oKQp7CglpbnQgdCxuOwoJUyh0KTsKCWRvdWJsZSBwOwoJd2hpbGUodC0tKSB7CgkJc2NhbmYoIiVkIiwmbik7CgkJc2NhbmYoIiVsZiIsJnApOwoJCWFzWzBdID0gMDsKCQlhc1sxXSA9IDI7CgkJYXNbMl0gPSAyOwoJCWZvcihpbnQgaSA9IDM7IGkgPD0gbjsgaSsrKSB7CgkJCWFzW2ldID0gKGFzW2ktMl0rMikqcCArICgoYXNbaS0zXSsyKSooMS1wKSk7CgkJfQoJCXByaW50ZigiJTAuMmxmXG4iLCBhc1tuXSk7Cgl9CglyZXR1cm4gMDsKfQog