#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define fi first #define se second #define pb push_back #define y1 kjfasiv #define lowbit(x) (x&-x) #define debug(x) cout<<#x<<"="< pii; typedef pair pll; typedef vector veci; typedef complex Com; const int mod=(int)1e9+7,INF=0x7fffffff,rx[]={-1,0,1,0},ry[]={0,1,0,-1}; const double pi=acos(-1.0),eps=1e-8; templatevoid rd(T &res){ res=0; char c; while(c=getchar(),c<48); do res=res*10+(c^48); while(c=getchar(),c>47); } templatevoid rec_print(T x){ if(!x)return; rec_print(x/10); putchar(x%10^48); } templatevoid print(T x){ if(!x)putchar('0'); else rec_print(x); } templateinline void Max(T &a,T b){ if(b>a)a=b; } templateinline void Min(T &a,T b){ if(b=mod)a-=mod; } int fast_mod_pow(int a,int b){ int res=1; for(;b;b>>=1,a=1ll*a*a%mod) if(b&1)res=1ll*res*a%mod; return res; } void solve(){ int n,m; rd(n);rd(m); int ans=0,mx=m; for(int i=0;i<=m;++i){ if(1ll<n){ mx=i-1; break; } } for(int i=mx;~i;--i){ ans+=n/(1ll<