Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define M 123457
- #define ULL unsigned long long int
- using namespace std;
- ULL pow_log(ULL n,int p)
- {
- ULL rezultat=1;
- while(p)
- {
- if(p&1)
- {
- rezultat=rezultat*n%M;
- --p;
- }
- n=n*n%M;
- p/=2;
- }
- return rezultat;
- }
- int main()
- {
- int n,p;
- cin>>n>>p;
- cout<<52*pow_log(50,n-1)%M<<' ';
- ULL a[n+5],A[n+5];
- a[1]=A[1]=26;
- a[2] =(26*(a[1]+A[1]))%M;
- int i=2;
- while(i<=n)
- A[i]=26*a[i-1]%M,++i,a[i]=26*(a[i-1]+A[i-1])%M;
- cout<<(a[n]+A[n])%M<<' ';
- ULL dp[n+5][p+5];
- dp[1][1]=5;
- for(int i=1;i<=n;++i)
- dp[i][0]=pow_log(21,i);
- for(int i=2;i<=n;++i)
- for(int j=1;j<=p;++j)
- dp[i][j]=21*dp[i-1][j]%M+5*dp[i-1][j-1]%M,dp[i][j]%=M;
- ULL s=0;
- for(int j=0;j<=p;++j)
- s=(s+dp[n][j])%M;
- cout<<s;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement