void main(){ import std.stdio, std.string, std.conv, std.algorithm; long n; rd(n); long[long] memo; memo[0L]=1L; long fun(long k){ if(k in memo) return memo[k]; else return memo[k]=fun(k/3)+fun(k/5); } writeln(fun(n)); } void rd(T...)(ref T x){ import std.stdio, std.string, std.conv; auto l=readln.split; assert(l.length==x.length); foreach(i, ref e; x){ e=l[i].to!(typeof(e)); } }