只保佑T1 T2不炸吧
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
inline void in(int &x){
x=0;int f=1;char c=getchar();
while(c<'0'||c>'9')c=='-'&&(f=-1),c=getchar();
while(c>='0'&&c<='9')x=(x<<1)+(x<<3)+c-'0',c=getchar();
x*=f;
}
const int X=10000000;
bool isp[X+520];
int t,x,xt[X+520];
int main(){
freopen("number.in","r",stdin);
freopen("number.out","w",stdout);
for(int i=1;i<=X+233;i++){
if(isp[i])continue;
int n=i;
bool flag=0;
while(n&&!flag){
flag|=(n%10==7);
n/=10;
}
if(flag)
for(int j=i;j<=X+233;j+=i)
isp[j]=1;
}
for(int i=X+233;i>=1;i--)
xt[i]=isp[i]?xt[i+1]:i;
in(t);
while(t--){
in(x);
if(isp[x])
puts("-1");
else
printf("%d\n",xt[x+1]);
}
return 0;
}
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
inline void in(int &x){
x=0;int f=1;char c=getchar();
while(c<'0'||c>'9')c=='-'&&(f=-1),c=getchar();
while(c>='0'&&c<='9')x=(x<<1)+(x<<3)+c-'0',c=getchar();
x*=f;
}
const int Mod=998244353;
int n,m,k,v[118];
ll f[118][35][35][35],a[35][35];
ll ksm(ll x,ll p){
ll ret=1;
while(p){
if(p&1)ret=(ret*x)%Mod;
x=(x*x)%Mod;
p>>=1;
}
return ret;
}
ll fac[35],invfac[35];
ll C(int n,int m){
return ((fac[m]*invfac[n])%Mod*invfac[m-n])%Mod;
}
int main(){
freopen("sequence.in","r",stdin);
freopen("sequence.out","w",stdout);
in(n);in(m);in(k);
fac[0]=1;invfac[0]=1;
for(int i=1;i<=n;i++){
fac[i]=(fac[i-1]*i)%Mod;
invfac[i]=(invfac[i-1]*ksm(i,Mod-2))%Mod;
}
for(int i=0;i<=m;i++)
in(v[i]);
for(int i=0;i<=n;i++)
f[0][i][i/2][i%2]=ksm(v[0],i);
for(int i=1;i<=m;i++)
for(int j=0;j<=n;j++){
ll tp=ksm(v[i],j);
for(int p=0;p<=k&&p<=i+1;p++)
for(int l=0;l<=n-j;l++){
ll ca=(C(j,l+j)*tp)%Mod;
for(int x=0;x<=n-j;x++){
if(p+(j+x)%2>k)continue;
f[i][j+l][(j+x)/2][p+(j+x)%2]+=(ca*f[i-1][l][x][p])%Mod;
if(f[i][j+l][(j+x)/2][p+(j+x)%2]>=Mod)f[i][j+l][(j+x)/2][p+(j+x)%2]-=Mod;
}
}
}
for(int i=m+1;i<=m+8;i++)
for(int x=0;x<=n;x++)
for(int p=0;p<=k;p++)
f[i][n][x/2][p+x%2]=(f[i][n][x/2][p+x%2]+f[i-1][n][x][p])%Mod;
ll ans=0;
for(int i=1;i<=k;i++)
ans=(ans+f[m+8][n][0][i])%Mod;
printf("%lld\n",ans);
return 0;
}