#include <bits/stdc++.h>
using
namespace
std;
int
countQuadruplets(
int
arr1[],
int
n1,
int
arr2[],
int
n2,
int
arr3[],
int
n3,
int
arr4[],
int
n4,
int
value)
{
vector<
int
> sum1;
vector<
int
>::iterator it;
vector<
int
>::iterator it2;
int
cnt = 0;
for
(
int
i = 0; i < n1; i++) {
for
(
int
j = 0; j < n2; j++) {
sum1.push_back(arr1[i] + arr2[j]);
}
}
sort(sum1.begin(), sum1.end());
for
(
int
i = 0; i < n3; i++) {
for
(
int
j = 0; j < n4; j++) {
int
temp = arr3[i] + arr4[j];
if
(binary_search(sum1.begin(), sum1.end(), value - temp)) {
it = lower_bound(sum1.begin(), sum1.end(), value - temp);
it2 = upper_bound(sum1.begin(), sum1.end(), value - temp);
cnt = cnt + ((it2 - sum1.begin()) - (it - sum1.begin()));
}
}
}
return
cnt;
}
int
main()
{
int
arr1[] = { 0, 2 };
int
n1 =
sizeof
(arr1) /
sizeof
(arr1[0]);
int
arr2[] = { -1, -2 };
int
n2 =
sizeof
(arr2) /
sizeof
(arr2[0]);
int
arr3[] = { 2, 1 };
int
n3 =
sizeof
(arr3) /
sizeof
(arr3[0]);
int
arr4[] = { 2, -1 };
int
n4 =
sizeof
(arr4) /
sizeof
(arr4[0]);
int
sum = 0;
cout << countQuadruplets(arr1, n1, arr2, n2,
arr3, n3, arr4, n4, sum);
return
0;
}