#include #define Mod 1000000007 using namespace std; typedef long long ll; void read() { freopen("duel.in","r",stdin); freopen("duel.out","w",stdout); } ll i,j,p,q,n,m,k,a[306],dp[100006],s,ans,S; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); read(); cin>>n; for(i=1;i<=n;i++) { cin>>a[i]; S+=a[i]; } ///0 , a[i] ili 2*a[i] dp[0]=1; for(i=1;i<=n-1;i++) { s+=2*a[i]; //cout<=1;j--) { if(2*a[i]<=j) dp[j]+=dp[j-2*a[i]]; if(a[i]<=j) dp[j]+=dp[j-a[i]]; dp[j]%=Mod; } } for(i=0;i<=S;i++) { /** if(i%2==0) cout<S ||(q<=S && q+a[n]>S)) ans+=dp[i],ans%=Mod; ///pobeda if(i+2*a[n]>S && q<=S) ans+=dp[i],ans%=Mod; ///zaguba if(i<=S && q<=S && q+2*a[n]>S) ans+=dp[i],ans%=Mod; //cout<