Pagini recente » Cod sursa (job #336284) | Cod sursa (job #1399779) | Cod sursa (job #2834077) | Cod sursa (job #1158307) | Cod sursa (job #3168392)
#include <iostream>
#ifndef LOCAL
string name="mins";
ifstream in(name+".in");
ofstream out(name+".out");
#define cin in
#define cout out
#endif // LOCAL
#define int long long
using namespace std;
const int MN = 1e6+5;
int n,m;
int mob[MN], val[MN];
int32_t main()
{
cin>>n>>m;
m--;
n--;
for(int i=1;i<=n;i++)
{
mob[i]=1;
val[i]=m;
}
int ans=m;
for(int i=2;i<=n;i++)
{
if(mob[i]==0) continue;
int delta=mob[i]*(m/i);
for(int j=i;j<=n;j+=i)
{
val[j]-=delta;
mob[j]-=mob[i];
}
ans+=val[i];
//cout<<i<<' '<<val[i]<<'\n';
}
cout<<ans<<'\n';
return 0;
}