#include #include #include #include #include #include #include #include #include #include #define mkp make_pair #define mkt make_tuple #define rep(i,n) for(int i = 0; i < (n); ++i) #define all(v) v.begin(),v.end() using namespace std; typedef long long ll; const ll MOD=1e9+7; template void chmin(T &a,const T &b){if(a>b) a=b;} template void chmax(T &a,const T &b){if(a>N; vector A(31,0); { ll M=N; for(int i=0;i<=30;i++){ A[i]=N%5; N/=5; } } dp[30][60][0][0]=1; for(int i=29;i>=0;i--) for(int j=0;j<=120;j++) rep(k,2) rep(l,2){ ll val=dp[i+1][j][k][l]; if(val==0) continue; for(int d=0;d<5;d++) for(int nk=0;nk<2;nk++){ int nl=l|(dA[i]) continue; int need=k*5-nk-d; if(need<-2||2