#include #include #include #include #include using namespace std; int gcd(int a,int b) { while(b) { int t=a%b; a=b; b=t; } return a; } mapmemo; long double solve(int N) { if(N==1)return 0; if(memo.find(N)!=memo.end())return memo[N]; vectorto(N,1); for(int g=2;g>N; cout<