#include #include #include #include using namespace std; typedef long long ll; class FirstFactors{ public: ll number; vector factors; FirstFactors(ll number) : number(number){ ll checkTo = (int) (sqrt(number) +1); vector possibleDividers; for(ll div = 2; div <=checkTo; div++){ while(number % div == 0){ factors.push_back(div); number/=div; if(number > checkTo){ possibleDividers.push_back(number); } } } for(ll div : possibleDividers){ while(number % div == 0){ factors.push_back(div); number/=div; } } if(factors.size() == 0){ factors.push_back(number); } // print factors: /* for(ll f : factors){ cout << f << " "; } cout << endl;*/ } }; ll longestSequenceHelper(FirstFactors & firstFactors, int i){ if(i < 0){ return 1; } return 1 + firstFactors.factors[i] * longestSequenceHelper(firstFactors, i-1); } ll longestSequence(ll barSize){ if(barSize == 1){ return 1; } FirstFactors firstFactors(barSize); int i = firstFactors.factors.size() -1; return longestSequenceHelper(firstFactors, i); } int main() { int n; cin >> n; ll results = 0; for(int i =0; i > tmpBarSize; results += longestSequence(tmpBarSize); } cout << results << endl; return 0; }