#include #define be(v) (v).begin(),(v).end() #define pb(q) push_back(q) typedef long long ll; using namespace std; const ll mod=1000000007, INF=(1LL<<60); #define doublecout(a) cout<> n; bool burst[n]; memset(burst, 0, sizeof(burst)); vector > v; multiset > > ms; for(int i=0;i> a >> b; v.push_back({a, b}); } for(int i=0;isecond.first; int id2 = itr->second.second; ms.erase(itr); if(burst[id1] || burst[id2]) continue; if(id1 > id2) swap(id1, id2); if(id1 == 0){ burst[id2] = true; ans++; }else{ burst[id1] = burst[id2] = true; } } cout << ans << endl; return 0; }