#include using namespace std; #pragma GCC target("avx") #pragma GCC optimize("O2") #pragma GCC optimize("inline") #pragma GCC optimize("-fgcse") #pragma GCC optimize("-fgcse-lm") #pragma GCC optimize("-fipa-sra") #pragma GCC optimize("-ftree-pre") #pragma GCC optimize("-ftree-vrp") #pragma GCC optimize("-fpeephole2") #pragma GCC optimize("-ffast-math") #pragma GCC optimize("-fsched-spec") #pragma GCC optimize("unroll-loops") #pragma GCC optimize("-falign-jumps") #pragma GCC optimize("-falign-loops") #pragma GCC optimize("-falign-labels") #pragma GCC optimize("-fdevirtualize") #pragma GCC optimize("-fcaller-saves") #pragma GCC optimize("-fcrossjumping") #pragma GCC optimize("-fthread-jumps") #pragma GCC optimize("-funroll-loops") #pragma GCC optimize("-fwhole-program") #pragma GCC optimize("-freorder-blocks") #pragma GCC optimize("-fschedule-insns") #pragma GCC optimize("inline-functions") #pragma GCC optimize("-ftree-tail-merge") #pragma GCC optimize("-fschedule-insns2") #pragma GCC optimize("-fstrict-aliasing") #pragma GCC optimize("-fstrict-overflow") #pragma GCC optimize("-falign-functions") #pragma GCC optimize("-fcse-skip-blocks") #pragma GCC optimize("-fcse-follow-jumps") #pragma GCC optimize("-fsched-interblock") #pragma GCC optimize("-fpartial-inlining") #pragma GCC optimize("no-stack-protector") #pragma GCC optimize("-freorder-functions") #pragma GCC optimize("-findirect-inlining") #pragma GCC optimize("-fhoist-adjacent-loads") #pragma GCC optimize("-frerun-cse-after-loop") #pragma GCC optimize("inline-small-functions") #pragma GCC optimize("-finline-small-functions") #pragma GCC optimize("-ftree-switch-conversion") #pragma GCC optimize("-foptimize-sibling-calls") #pragma GCC optimize("-fexpensive-optimizations") #pragma GCC optimize("-funsafe-loop-optimizations") #pragma GCC optimize("inline-functions-called-once") #pragma GCC optimize("-fdelete-null-pointer-checks") #define ll long long #define endl "\n" #define pb push_back #define ff first #define ss second #define ii pair #define vi vector #define vii vector> #define vvi vector #define mii map #define rep(i, a, b) for (int i = a; i <= b; i++) #define _READ(name) freopen(name, "r", stdin) #define _WRITE(name) freopen(name, "w", stdout) int n; const int mx = 5e7; int d[mx+3]; ll mp[mx+3]; bool prime[mx+3]; void Prepare() { cin >> n; } void ppc() { for (int i = 1; i <= mx; i++) { prime[i] = 1; d[i] = i; } prime[0] = prime[1] = 0; for (int i = 2; i * i <= mx; i++) { if (prime[i]) { for (int j = i*i; j*j <= mx; j += i) { prime[j] = 0; } for (int j = i*i; j <= mx; j += i*i) { while (d[j] % (i*i) == 0) d[j] /= (i*i); } } } } void COOOOK() { ppc(); for (int i = 1; i <= n; i++) { mp[d[i]]++; } ll ans = 0; rep(i, 1, n) { ans += (mp[i]*mp[i]); } cout << ans; } void Eat() { } void Wash() { } signed main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int TEST = 1; while (TEST--) { Prepare(); COOOOK(); Eat(); Wash(); } return 0; }