
#include<stdio.h>

int mod=1000000007;
long long fun(int a,int b,int mod)
{
long long d=1,t=a;
while(b)
{
if(b&1)
d=(d*t)%mod;
b/=2;
t=(t*t)%mod;
}
return d;
}


int main()
{
int n,i,f;
long long sum;
int a[100005],m[100000];
scanf("%d",&n);
f=0;
for(i=0;i<n;i++)
{
m[i]=0;
scanf("%d",&a[i]);
}
for(i=0;i<n;i++)
 m[a[i]]++;
if(n%2==1)
{
if(m[0]!=1)
 f=1;
for(i=2;i<n;i+=2)
if(m[i]!=2)
   f=1;
} 
else
{
for(i=1;i<n;i+=2)
if(m[i]!=2)
   f=1;

} 
sum=fun(2,n/2,mod);
if(n%2)
    {
        if(f)
        printf("0\n");
        else
        printf("%lld\n",sum);
    }   
    else
    {
        if(f)
        printf("0\n");
        else
        printf("%lld\n",sum);
    }
return 0;
 }