#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("inline")
#include<bits/stdc++.h>
using namespace std;
#define main dummy_main
int main( ) {
return 0 ;
}
#undef main
class Solution{
public :
vector< vector< int >> findWinners( vector< vector< int >> & A) {
int i;
vector< vector< int >> res( 2 ) ;
static int wn[ 100000 + 1 ] ;
static int ls[ 100000 + 1 ] ;
for ( i= ( 0 ) ; i< ( 100000 + 1 ) ; i++ ) {
wn[ i] = ls[ i] = 0 ;
}
for ( vector< int > a : A) {
wn[ a[ 0 ] ] ++ ;
ls[ a[ 1 ] ] ++ ;
}
for ( i= ( 0 ) ; i< ( 100000 + 1 ) ; i++ ) {
if ( wn[ i] + ls[ i] ) {
if ( ls[ i] == 0 ) {
res[ 0 ] .push_back ( i) ;
}
if ( ls[ i] == 1 ) {
res[ 1 ] .push_back ( i) ;
}
}
}
return res;
}
}
;
// cLay version 20220312-1
// --- original code ---
// #define main dummy_main
// {}
// #undef main
//
// class Solution {
// public:
// VVI findWinners(VVI& A) {
// VVI res(2);
// static int wn[1d5+1], ls[1d5+1];
// rep(i,1d5+1) wn[i] = ls[i] = 0;
// for(VI a : A) wn[a[0]]++, ls[a[1]]++;
// rep(i,1d5+1) if(wn[i]+ls[i]){
// if(ls[i]==0) res[0].push_back(i);
// if(ls[i]==1) res[1].push_back(i);
// }
// return res;
// }
// };
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0IikKI3ByYWdtYSBHQ0Mgb3B0aW1pemUoInVucm9sbC1sb29wcyIpCiNwcmFnbWEgR0NDIG9wdGltaXplKCJpbmxpbmUiKQojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIG1haW4gZHVtbXlfbWFpbgppbnQgbWFpbigpewogIHJldHVybiAwOwp9CiN1bmRlZiBtYWluCmNsYXNzIFNvbHV0aW9uewogIHB1YmxpYzoKICB2ZWN0b3I8dmVjdG9yPGludD4+IGZpbmRXaW5uZXJzKHZlY3Rvcjx2ZWN0b3I8aW50Pj4mIEEpewogICAgaW50IGk7CiAgICB2ZWN0b3I8dmVjdG9yPGludD4+IHJlcygyKTsKICAgIHN0YXRpYyBpbnQgd25bMTAwMDAwKzFdOwogICAgc3RhdGljIGludCBsc1sxMDAwMDArMV07CiAgICBmb3IoaT0oMCk7aTwoMTAwMDAwKzEpO2krKyl7CiAgICAgIHduW2ldID0gbHNbaV0gPSAwOwogICAgfQogICAgZm9yKHZlY3RvcjxpbnQ+IGEgOiBBKXsKICAgICAgd25bYVswXV0rKzsKICAgICAgbHNbYVsxXV0rKzsKICAgIH0KICAgIGZvcihpPSgwKTtpPCgxMDAwMDArMSk7aSsrKXsKICAgICAgaWYod25baV0rbHNbaV0pewogICAgICAgIGlmKGxzW2ldPT0wKXsKICAgICAgICAgIHJlc1swXS5wdXNoX2JhY2soaSk7CiAgICAgICAgfQogICAgICAgIGlmKGxzW2ldPT0xKXsKICAgICAgICAgIHJlc1sxXS5wdXNoX2JhY2soaSk7CiAgICAgICAgfQogICAgICB9CiAgICB9CiAgICByZXR1cm4gcmVzOwogIH0KfQo7Ci8vIGNMYXkgdmVyc2lvbiAyMDIyMDMxMi0xCgovLyAtLS0gb3JpZ2luYWwgY29kZSAtLS0KLy8gI2RlZmluZSBtYWluIGR1bW15X21haW4KLy8ge30KLy8gI3VuZGVmIG1haW4KLy8gCi8vIGNsYXNzIFNvbHV0aW9uIHsKLy8gcHVibGljOgovLyAgIFZWSSBmaW5kV2lubmVycyhWVkkmIEEpIHsKLy8gICAgIFZWSSByZXMoMik7Ci8vICAgICBzdGF0aWMgaW50IHduWzFkNSsxXSwgbHNbMWQ1KzFdOwovLyAgICAgcmVwKGksMWQ1KzEpIHduW2ldID0gbHNbaV0gPSAwOwovLyAgICAgZm9yKFZJIGEgOiBBKSB3blthWzBdXSsrLCBsc1thWzFdXSsrOwovLyAgICAgcmVwKGksMWQ1KzEpIGlmKHduW2ldK2xzW2ldKXsKLy8gICAgICAgaWYobHNbaV09PTApIHJlc1swXS5wdXNoX2JhY2soaSk7Ci8vICAgICAgIGlmKGxzW2ldPT0xKSByZXNbMV0ucHVzaF9iYWNrKGkpOwovLyAgICAgfQovLyAgICAgcmV0dXJuIHJlczsKLy8gICB9Ci8vIH07Cg==