#include #include #include #include using namespace std; #define mod 1000000009 #define LL __int64 #define maxn 100000+5 LL f[maxn]; void set() { int i; f[0] = 1; for(i = 1; i=x) ll = l-x; else if(r>=x) ll = ((l%2)==(x%2))?0:1; else ll = x-r; if(r+x<=m) rr = r+x; else if(l+x<=m) rr = (((l+x)%2) == (m%2)?m:m-1); else rr = 2*m-(l+x); l = ll,r = rr; } LL sum = 0; for(i = l; i<=r; i+=2) sum+=((f[m]%mod)*(quickmod((f[i]*f[m-i])%mod,mod-2)%mod))%mod; printf("%I64d\n",sum%mod); } return 0; }