Thông tin
freopen("file.inp", "r", stdin); freopen("file.out", "w", stdout); bool nt(ll n) { if(n <= 1) return false ; if(n <= 3) return true ; if(n % 2 == 0 or n % 3 == 0) return false ; for(ll i = 5; i <= n / i; i += 6){ if(n % i == 0 or n % (i + 2) == 0){ return false ; } } return true ; } bool nt[10000007] ; void sang(){ memset(nt, 1, sizeof(nt)) ; nt[1] = nt[0] = 0 ; for(int i = 2; i <= sqrt(1e7); i ++) for(int j = i * i; j <= 1e7; j = j + i) nt[j] = 0 ; } long long mu(long long a, long long b){ long long mod = 1e9 + 7 ; a %= mod ; if(b == 1) return a ; long long tmp = mu(a, b / 2) ; tmp %= mod ; tmp = tmp * tmp % mod ; if(b % 2 == 1) tmp = a * tmp ; return tmp ; } for (int i = 1; i <= b; i++) for (int j = 2 * i; j <= b; j += i) s[j] += i;