#include<bits/stdc++.h>
using namespace std;
long long n;
long long mod=1e9+7;
long long pow1(long long a,long long b)
{
long long ans=1;
while(b)
{
    if(b&1)
    ans=ans*a%mod;
    a=a*a%mod;
    b>>=1;
}
return ans;
}
int main()
{

    while(cin>>n){
    long long q[100005]={};
    for(int i=1;i<=n;i++)
    {
        long long a;
        cin>>a;
        q[a]++;
    }
    if(q[0]>1)
    {
        cout<<"0"<<endl;
    }
    else
    {
        int a=0;
        for(int x=1;x<n;x++)
        {
            if(q[x]==2)
            {
                a++;
            }
            else if(q[x]>2)
            {
                cout<<"0"<<endl;
                continue;
            }
        }
        a%=mod;
        cout<<pow1(2,a)%mod<<endl;
    }
    }
    return 0;
}
