#include <iostream>
#include <utility>
#include <algorithm>
#include <set>
using namespace std;
using OP = pair<unsigned long long , unsigned long long>;
using SOP = set<OP>;
template <class T>
bool is_symetric (set<pair<T,T>> sop) {
return all_of(sop.cbegin(), sop.cend(),
[&sop](auto &x){ return x.first==x.second || sop.find({x.second,x.first })!=sop.end();}) ;
}
int main() {
SOP test1 { {1,3},{2,4},{5,7},{7,5}, {4,2}, {3,1} };
SOP test2 { {1,3},{2,4},{5,7},{7,5}, {4,2}, {3,1}, {8,4} };
cout << is_symetric(test1)<<endl;
cout << is_symetric(test2)<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPHNldD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnVzaW5nIE9QID0gcGFpcjx1bnNpZ25lZCAgbG9uZyBsb25nICwgdW5zaWduZWQgbG9uZyBsb25nPjsKdXNpbmcgU09QID0gc2V0PE9QPjsgCgp0ZW1wbGF0ZSA8Y2xhc3MgVD4KYm9vbCBpc19zeW1ldHJpYyAoc2V0PHBhaXI8VCxUPj4gc29wKSB7CiAgICByZXR1cm4gYWxsX29mKHNvcC5jYmVnaW4oKSwgc29wLmNlbmQoKSwKICAgICAgICBbJnNvcF0oYXV0byAmeCl7IHJldHVybiB4LmZpcnN0PT14LnNlY29uZCB8fCBzb3AuZmluZCh7eC5zZWNvbmQseC5maXJzdCB9KSE9c29wLmVuZCgpO30pIDsKfQoKaW50IG1haW4oKSB7CglTT1AgdGVzdDEgeyB7MSwzfSx7Miw0fSx7NSw3fSx7Nyw1fSwgezQsMn0sIHszLDF9IH07CglTT1AgdGVzdDIgeyB7MSwzfSx7Miw0fSx7NSw3fSx7Nyw1fSwgezQsMn0sIHszLDF9LCB7OCw0fSB9OwoJCQoJY291dCA8PCBpc19zeW1ldHJpYyh0ZXN0MSk8PGVuZGw7IAoJY291dCA8PCBpc19zeW1ldHJpYyh0ZXN0Mik8PGVuZGw7IAoJcmV0dXJuIDA7Cn0=