Language: C++

  // nb_9960
  #include <bits/stdc++.h> 
  using namespace std; 
  #define fi(i,a,n) for (ll i=a; i < n; i++) 
  #define ll long long
  #define pb push_back 
  #define mp make_pair 
  #define F first 
  #define S second 
  #define all(x) x.begin(), x.end() 
  #define clr(x) memset(x, 0, sizeof(x)) 
  #define sortall(x) sort(all(x)) 
  typedef pair<ll, ll> pl; 
  typedef vector<ll> vl; 
  typedef vector<pl> vpii; 
  #define sz(a) int((a).size())
  #define tr(c,i) for(typeof(c).begin() i = c.begin(); i != c.end(); i++)
  #define present(c,x) (c.find(x) != c.end())
  #define cpresent(c,x) (find(all(c),x) != c.end())
  #define MOD 1000000007
  #define PI 3.1415926536

  bool prime[1000007], primesquare[1000007 * 1000007 + 1];

  void SieveOfEratosthenes(ll n, ll a[]) 
{ 
    // Create a boolean array "prime[0..n]" and 
    // initialize all entries it as true. A value 
    // in prime[i] will finally be false if i is 
    // Not a prime, else true. 
    for (ll i = 2; i <= 1000007; i++) 
        prime[i] = true; 
  
    // Create a boolean array "primesquare[0..n*n+1]" 
    // and initialize all entries it as false. A value 
    // in squareprime[i] will finally be true if i is 
    // square of prime, else false. 
    for (ll i = 0; i <= (1000007 * 1000007 + 1); i++) 
        primesquare[i] = false; 
  
    // 1 is not a prime number 
    prime[1] = false; 
  
    for (ll p = 2; p * p <= 1000007; p++) { 
        // If prime[p] is not changed, then 
        // it is a prime 
        if (prime[p] == true) { 
            // Update all multiples of p 
            for (ll i = p * 2; i <= 1000007; i += p) 
                prime[i] = false; 
        } 
    } 
  
    ll j = 0; 
    for (ll p = 2; p <= n; p++) { 
        if (prime[p]) { 
            // Storing primes in an array 
            a[j] = p; 
  
            // Update value in primesquare[p*p], 
            // if p is prime. 
            primesquare[p * p] = true; 
            j++; 
        } 
    } 
} 
  
// Function to count divisors 
ll countDivisors(ll n) 
{ 
    // If number is 1, then it will have only 1 
    // as a factor. So, total factors will be 1. 
    if (n == 1) 
        return 1; 
  
     
  
    ll a[n]; // for storing primes upto n 
  
    // Calling SieveOfEratosthenes to store prime 
    // factors of n and to store square of prime 
    // factors of n 
    SieveOfEratosthenes(n, a); 
  
    // ans will contain total number of distinct 
    // divisors 
    ll ans = 1; 
  
    // Loop for counting factors of n 
    for (ll i = 0;; i++) { 
        // a[i] is not less than cube root n 
        if (a[i] * a[i] * a[i] > n) 
            break; 
  
        // Calculating power of a[i] in n. 
        ll cnt = 1; // cnt is power of prime a[i] in n. 
        while (n % a[i] == 0) // if a[i] is a factor of n 
        { 
            n = n / a[i]; 
            cnt = cnt + 1; // incrementing power 
        } 
  
        // Calculating the number of divisors 
        // If n = a^p * b^q then total divisors of n 
        // are (p+1)*(q+1) 
        ans = ans * cnt; 
    } 
  
    // if a[i] is greater than cube root of n 
  
    // First case 
    if (prime[n]) 
        ans = ans * 2; 
  
    // Second case 
    else if (primesquare[n]) 
        ans = ans * 3; 
  
    // Third case 
    else if (n != 1) 
        ans = ans * 4; 
  
    return ans; // Total divisors 
} 

  int main() 
  {  
    ios_base::sync_with_stdio(0); 
    cin.tie(0); 
    cout.tie(0); 

    ll t = 1; 
    // cin >> t;

    while (t--) { 
      ll n;
      cin>>n;
      ll c=n-1,cnt=0,m=n-c,a,b;
      while(m<=(n-1)){
        cnt+=countDivisors(m);
        m++;
      }
      cout<<cnt<<endl;
    }
    return 0; 
  } 


Compiler output:
a.cc:23:44: warning: integer overflow in expression of type 'int' results in '-713379919' [-Woverflow]
   23 |   bool prime[1000007], primesquare[1000007 * 1000007 + 1];
      |                                    ~~~~~~~~^~~~~~~~~
a.cc:23:54: error: size '-713379918' of array 'primesquare' is negative
   23 |   bool prime[1000007], primesquare[1000007 * 1000007 + 1];
      |                                    ~~~~~~~~~~~~~~~~~~^~~
a.cc: In function 'void SieveOfEratosthenes(long long int, long long int*)':
a.cc:38:34: warning: integer overflow in expression of type 'int' results in '-713379919' [-Woverflow]
   38 |     for (ll i = 0; i <= (1000007 * 1000007 + 1); i++)
      |                          ~~~~~~~~^~~~~~~~~