Pagini recente » Cod sursa (job #203736) | Cod sursa (job #860331) | Cod sursa (job #1125061) | Cod sursa (job #2842448) | Cod sursa (job #2636768)
#include <bits/stdc++.h>
using namespace std;
ifstream in("mins.in");
ofstream out("mins.out");
typedef long long ll;
const ll lim=1e6+3;
bool primes[lim];
ll phi[lim];
void ciur(ll n,ll m)
{
--n; --m;
for(ll i=1;i<=n;++i)
{
phi[i]=m;
primes[i]=false;
}
for(ll i=2;i<=n;++i)
if(!primes[i])
{
for(ll j=i;j<=n;j+=i)
{
phi[j]=(phi[j]-phi[j]/i);
primes[j]=true;
}
}
ll ans=0;
for(ll i=1;i<=n;++i)
ans+=phi[i];
out<<ans<<'\n';
}
int main()
{
ll n,m;
in>>n>>m;
ciur(n,m);
return 0;
}