#include #include using namespace std; using namespace atcoder; using ll=long long; using ld=long double; using vb=vector; using vvb=vector; using vd=vector; using vvd=vector; using vi=vector; using vvi=vector; using vl=vector; using vvl=vector; using pii=pair; using pll=pair; using vpll=vector; using tll=tuple; using tlll=tuple; using vs=vector; #define all(a) a.begin(),a.end() #define rall(a) a.rbegin(),a.rend() #define rep(i,n) range(i,0,n) #define rrep(i,n) for(ll i=(n)-1;i>=0;i--) #define range(i,a,n) for(ll i=(a);i<(n);i++) #define sz(x) (int)(x).size() #define LINF ((ll)1ll<<60) #define INF ((int)1<<30) #define EPS (1e-9) #define MOD (1000000007ll) //#define MOD (998244353ll) #define fcout(a) cout<bool chmax(T&a,T b){if(abool chmin(T&a,T b){if(a>b){a=b; return true;}return false;} templateS acm(vector&a){return accumulate(all(a),S());} templateS max(vector&a){return *max_element(all(a));} templateS min(vector&a){return *min_element(all(a));} void YN(bool b){cout<<(b?"YES":"NO")<<"\n";} void Yn(bool b){cout<<(b?"Yes":"No")<<"\n";} void yn(bool b){cout<<(b?"yes":"no")<<"\n";} int sgn(const double&r){return (r>EPS)-(r<-EPS);} // a>0 : sgn(a)>0 int sgn(const double&a,const double&b){return sgn(a-b);} // b<=c : sgn(b,c)<=0 int popcnt(int x){return __builtin_popcount(x);} int popcnt(ll x){return __builtin_popcountll(x);} ll max(int a,ll b){return max((ll)a,b);} ll max(ll a,int b){return max(a,(ll)b);} templatevoid puta(T&&t){cout<void puta(H&&h,T&&...t){cout<ostream&operator<<(ostream&os,pairp){os<<"["<auto&operator<<(ostream&os,vectort){bool a=1; for(auto s:t){os<<(a?"":" ")<>n>>p; vl v(n+1); vd mul(100); mul[0]=1; rep(i,99)mul[i+1]=mul[i]*(1-p); for(ll i=2;i<=n;i++){ for(ll j=i+i;j<=n;j+=i){ v[j]++; } ans+=mul[v[i]]; } fcout(8)<