// Valid Square class Solution { int d(vector& p, vector& q) { return (p[0]-q[0])*(p[0]-q[0])+(p[1]-q[1])*(p[1]-q[1]); } public: bool validSquare(vector& p1, vector& p2, vector& p3, vector& p4) { unordered_set s{d(p1,p2), d(p1,p3), d(p1,p4), d(p2,p3), d(p2,p4), d(p3,p4)}; return ! s.count(0) && s.size() == 2; } };