#include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int N,M; cin >> N >> M; int Need = N; vector prime(Need+1); vector allp,lpf(Need+1,1); for(int i=2; i<=Need; i++){ if(lpf.at(i) == 1) lpf.at(i) = i,allp.push_back(i),prime.at(i) = true; for(auto &p : allp){ if(p*i > Need || p > lpf.at(i)) break; lpf.at(p*i) = p; } } vector F(N+1); F.at(1) = 1; for(int i=2; i<=N; i++){ int k = i/lpf.at(i); if(lpf.at(i) != lpf.at(k)) F.at(i) = -F.at(k); } long long answer = 0; for(int i=1; i<=N; i++) answer += 1LL*F.at(i)*(N/i)*(M/i); cout << answer << endl; }