#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int co[200020] = {}; bool bo[200020] = { false }; set> st; int main() { long long n, m; cin >> n >> m; for (int i = 0; i < n; i++) { int b, c; cin >> b >> c; bo[b] = true; if (st.find({ b,c }) == st.end()) { st.insert({ b,c }); co[c]++; } } int ans = 0, co1 = 0; for (int i = 1; i <= m; i++) { if (bo[i]) { co1++; } } for (int i = 1; i <= n; i++) { if (co[i] != 0) { ans += co[i] - 1; } } cout << min(ans,co1 - 1) << endl; }