#include #define int long long using namespace std; const int N=5050; const int mod=998244353; int S[N][N],n,ans,inv[N],fac[N]; int Pow(int a,int b=mod-2){ int s=1; while(b){ if(b&1)s=s*a%mod; a=a*a%mod;b>>=1; }return s; } int C(int n,int m){ if(n=0;--i)inv[i]=inv[i+1]*(i+1)%mod; S[0][0]=1; for(int i=1;i>n; for(int i=0;i<=n;++i){ for(int j=0;j<=i;++j){ int val=(Pow(2,j)+mod-j)%mod; val=Pow(val,n-i); ans=(ans+C(n,i)*S[i][j]%mod*val%mod)%mod; } } cout<