Задача:  Построение
                  
              N учащихся класса, удобно пронумеровали числами от 1 до N. На линейке 1 сентября они стояли в ряд, но теперь не уверены в том, в каком порядке они стояли. Однако каждый запомнил следующий факт: абсолютную разницу между количеством учащихся, стоявших слева от этого человека, и количеством учащихся, которые стояли справа от этого человека. Согласно их отчетам, разница для человека i равна Ai . На основании этих отчетов, найдите количество возможных расстановок, в которых они стояли. Поскольку ответ может быть очень большим, выведите его по модулю \(10^9+7\). Обратите внимание, что отчеты могут быть неправильными и, следовательно, не может быть согласованного порядка. В таком случае выведите 0.
Входные данные
В первой строке задается число N (\(1<=N<=10^5\)). Во второй строке N чисел Ai (\(0<=A_i<=N-1\)).
Выходные данные
Выведите количество возможных расстановок по модулю \(10^9+7\).
 
 
Примеры
	
		
			| № | 
			Входные данные | 
			Выходные данные | 
			Пояснение | 
		
	
	
		
			| 1 | 
			5 
			2 4 4 0 2 | 
			4 | 
			Возможны 4 расстановки учащихся, а именно: 
			2 ,1 ,4 ,5 ,3 
			2 ,5 ,4 ,1 ,3 
			3 ,1 ,4 ,5 ,2 
			3 ,5 ,4 ,1 ,2 | 
		
		
			| 2 | 
			7 
			6 4 0 2 4 0 2 | 
			0 | 
			Любая расстановка не совместима с отчетами. Поэтому ответ 0. | 
		
		
			| 3 | 
			8 
			7 5 1 1 7 3 5 3 | 
			16 | 
			  | 
		
	
 
          
             
            
        
                
        
        
        
            
           
    
                  
                    
    
                                   
                      
                        
    
            
            Ваш ответ: