#include <bits/stdc++.h>
using u32 = unsigned;
using i64 = long long;
using u64 = unsigned long long;
using i128 = __int128;
void solve() {
int n;
std::cin >> n;
std::vector<std::vector<std::pair<int, int>>> a(n);
std::set<std::vector<std::pair<int, int>>> S;
std::map<int, std::vector<int>> mp;
for (int i = 0; i < n; i++) {
int m;
std::cin >> m;
for (int j = 0; j < m; j++) {
int p, e;
std::cin >> p >> e;
a[i].emplace_back(p, e);
mp[p].emplace_back(e);
}
}
for (auto &it: mp) {
auto &v = it.second;
std::sort(v.begin(), v.end());
}
for (const auto &v: a) {
std::vector<std::pair<int, int>> t;
for (auto it: v) {
int p = it.first, e = it.second;
if (mp[p].size() == 1) {
t.emplace_back(p, e);
} else {
if (e < mp[p].back()) {
continue;
} else {
if (mp[p][mp[p].size() - 2] == e) {
continue;
} else {
t.emplace_back(p, e);
}
}
}
}
S.insert(t);
}
std::cout << S.size() << "\n";
}
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr), std::cout.tie(nullptr);
int T = 1;
// std::cin >> T;
while (T--) {
solve();
}
return 0;
}
0 回复
0 转发
0 喜欢
2 阅读



