#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,y,z,ans=0;//定义 
	int a[101]; //数组 
	bool m[101];
	scanf("%d\n",&n);//输入 
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
    for(int i=1;i<=n;i++){
    	m[i]=false;
    }
	for(int i=1;i<=n;i++){
		m[101]=false;
	}
	for(int i=1;i<=n;i++){ 
		for(int j=1;j<=n;j++){
			if(i!=j){
				z=a[i]+a[j];
				for(int y=1;y<=n;y++){
					if((a[y]==a[i]+a[j])&&(!m[y])){
						ans++;
						m[y]=true;
						break;
					}
				}
			}
		}
	}
	printf("%d\n",ans);
	return 0;
	 //其中有多少个数,恰好等于集合中另外两个不同的数之和
}
//2330 2331 2332
/**************************************************************
	Problem: 2330
	User: linxichen
	Language: C++
	Result: Accepted
	Time:53 ms
	Memory:2076 kb
****************************************************************/