There are n sticks, the i-th of which has length ai. Alex wants to assemble from them as many parallelograms as possible simultaneously, with each stick used at most in one parallelogram. What maximal number of parallelograms is it possible to assemble?
Input
The first line contains a single integer n (1 ≤ n ≤ 200000) — the number of sticks.
The second line contains n integers ai (1 ≤ ai ≤ 200000) — the lengths of sticks.
Output
Output a single integer — the maximal number of parallelograms that is possible to assemble.
Examples
Input
4 1 2 1 2
Output
1
Input
12 1 3 5 7 1 3 5 7 1 3 5 7
Output
2
#include<bits/stdc++.h>
using namespace std;
int a[201000];
int main(){
int n;
memset(a, 0, sizeof(a));
int sum = 0;
cin >> n;
for(int i = 0; i <= n - 1; i++){
int x;
cin >> x;
a[x]++;
if(a[x] >= 2){
sum++;
a[x] -= 2;
}
}
cout << sum / 2 << endl;
return 0;
}