#include<bits/stdc++.h>
typedef long long int ll;
typedef unsigned long long int ull;
#define BIG_NUM 2000000000
#define HUGE_NUM 99999999999999999
#define MOD 1000000007
#define EPS 0.000000001
using namespace std;


#define NUM 100000

ll ruisekiwa[NUM+1];
ll table[NUM+1];


int main(){

	for(int i = 0; i <= NUM; i++){
		table[i] = 0;
	}

	ruisekiwa[0] = 0;
	ruisekiwa[1] = 1;

	for(int i = 2; i <= NUM; i++){
		ruisekiwa[i] = i;
		ruisekiwa[i] += ruisekiwa[i-1];
	}

	ll left,right,mid,tmp;
	int max_add;

	for(ll i = 1; i <= NUM; i++){

		left = 0,right = NUM-i,mid = (left+right)/2;

		while(left <= right){
			tmp = ruisekiwa[i+mid]-ruisekiwa[i-1];

			if(tmp <= NUM){
				max_add = mid;
				left = mid+1;
			}else{
				right = mid-1;
			}
			mid = (left+right)/2;
		}

		for(int add = 0; add <= max_add; add++){

			table[ruisekiwa[i+add]-ruisekiwa[i-1]]++;
		}
	}

	ll S;

	scanf("%lld",&S);

	ll ans = 0;

	for(ll i = 1; i <= S; i++){
		if(S%i != 0)continue;

		ans += table[i]*table[S/i];
	}

	printf("%lld\n",ans);

	return 0;
}

