#include #define CACHE_SIZE 1000000 long long int dp[CACHE_SIZE]; long long int calc (long long int N){ if(N < CACHE_SIZE){ if(dp[N] != -1) return dp[N]; return (dp[N] = calc(N/3)+calc(N/5)); }else{ return calc(N/3)+calc(N/5); } } int main(void){ // Your code here! for(long long int i = 0; i < CACHE_SIZE; i++) dp[i] = -1; dp[0]=1; long long int N; scanf("%lld",&N); printf("%lld\n", calc(N)); }