#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; template int solve(const vector& a, T comp) { int n = a.size(); int i = 0; int j = n - 1; int ans = 0; while(i < j){ int x = comp(a[i], a[j]); if(x == 0){ ++ ans; ++ i; -- j; } else if(x < 0){ ++ i; } else{ -- j; } } return ans; } int main() { int n; cin >> n; vector a(2*n); for(int i=0; i<2*n; ++i) cin >> a[i]; sort(a.begin(), a.end()); int dry = solve(a, [](int x, int y){ return max(0, y + x + 1); }); int wet = solve(a, [](int x, int y){ return min(0, y + x - 1); }); int moist = solve(a, [](int x, int y){ return y + x; }); cout << dry << ' ' << wet << ' ' << moist << endl; return 0; }