#include using namespace std; #define int long long #define rep(i,n) for(int i=0;i<(n);i++) #define reps(i,a,b) for(int i=(a);i<(b);i++) #define pb push_back #define eb emplace_back #define all(v) (v).begin(),(v).end() #define fi first #define se second using vint=vector; using pint=pair; using vpint=vector; templateinline void chmin(A &a,B b){if(a>b)a=b;} templateinline void chmax(A &a,B b){if(a ostream& operator<<(ostream& ost,const pair&p){ ost<<"{"< ostream& operator<<(ostream& ost,const vector&v){ ost<<"{"; for(int i=0;i struct ModInt{ uint32_t a; ModInt& s(uint32_t vv){ a=vv>=1; } return res; } ModInt inv()const{return pow(mod-2);} }; template istream& operator>>(istream& in,const ModInt& a){ return (in>>a.a); } template ostream& operator<<(ostream& out,const ModInt& a){ return (out<; template struct ModIntTable{ int N; vectorfacts,finvs,invs; ModIntTable():N(1<mtable; mint po[2222222]; signed main(){ po[0]=1; for(int i=1;i<2222222;i++)po[i]=po[i-1]*2; int X,Y,Z; cin>>X>>Y>>Z; if(X==0&&Y==0&&Z==0){ cout<<1<p(N+2); for(int i=0;i<=N+1;i++){ p[i]=coef*mtable.binom(N+1,i); if((N+1-i)&1)p[i]*=-1; } p[0]-=1; //q=p/(2x-1) vectorq(N+1); mint b=mint(2).inv(); for(int i=N;i>=0;i--){ mint c=p[i+1]*b; q[i]=c; p[i]+=c; } mint ans=0; for(int i=0;i<=N;i++){ if(i