Pagini recente » Cod sursa (job #2186770) | Cod sursa (job #2303973) | Cod sursa (job #2938824) | Cod sursa (job #2921360) | Cod sursa (job #1926872)
#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
#define dbg(x) cout << #x << '=' << x << '\n';
#define ll long long
#define pi pair<int,int>
#define pl pair<long long,long long>
#define rd(x) cin >> x;
#define rda(a,n) for(int i=1;i<=n;i++) cin >> a[i];
#define wr(x) cout << x << ' ';
#define wrl(x) cout << x << '\n';
#define wra(a,n) for(int i=1;i<=n;i++) cout << a[i] << ' '; cout << '\n';
#define lg length()
#define pb(x) push_back(x)
ifstream in("file.in");
ofstream out("file.out");
#define MAXN 100005
#define INF 1000000005
#define LINF 1000000000000000005
struct comp{
bool operator()(int a, int b){
return a>b;
}
};
int n,a[1000005],t,x,y;
long long cnt;
int fi(int n){
int ans=n;
while(n!=1){
ans/=a[n];
ans*=(a[n]-1);
int p=a[n];
while(a[n]==p) n/=a[n];
}
return ans;
}
int main(){
ifstream in("fractii.in");
ofstream out("fractii.out");
in >> n;
for(int i=2;i<=n;i++){
if(!a[i]){
for(int j=i;j<=n;j+=i) a[j]=i;
}
}
for(int i=2;i<=n;i++){
cnt+=fi(i);
}
out << 2*cnt+1;
}