Trong thời gian ở nhà, Phúc và Hạnh chơi một trò chơi liên quan tới hình học như sau. Trong mặt phẳng hai chiều, Phúc và Hạnh đặt lên các đoạn thẳng. Các đoạn này song song với trục \(X\) hoặc trục \(Y\). Sau khi đặt các đoạn thẳng, Phúc và Hạnh cùng đếm số lượng đoạn cắt nhau. Hai đoạn được gọi là cắt nhau khi chúng có điểm chung, kể cả ở các đầu mút. Chú ý rằng hai đoạn cùng song song với trục \(X\) hoặc cùng song song với trục \(Y\) thì không bao giờ cắt nhau. Ai đếm xong trước, người đó sẽ chiến thắng trò chơi này.
Phúc và Hạnh đều đã đếm xong, tuy nhiên họ không chắc rằng ai đúng, ai sai. Bạn hãy dùng khả năng lập trình của mình để tính kết quả của trò chơi này nhé.
Yêu cầu
- Đọc vào \(N\) đoạn thẳng, tính số cặp đoạn thẳng cắt nhau.
Dữ liệu vào
- Dòng đầu chứa số nguyên \(N\) \((2 \le N \le 2 \times 10^5)\), số đoạn thẳng.
- \(N\) dòng tiếp theo, mỗi dòng chứa bốn số nguyên, lần lượt là tọa độ \(X\) và \(Y\) của điểm thứ nhất và tọa độ \(X\) và \(Y\) của điểm thứ hai tạo nên đoạn thẳng. Đảm bảo đoạn thẳng song song với trục \(X\) hoặc trục \(Y\), nghĩa là hai giá trị \(X\) bằng nhau hoặc hai giá trị Y bằng nhau. Đảm bảo hai điểm này khác nhau.
- Tọa độ của các điểm là số nguyên có giá trị tuyệt đối không vượt quá \(10^9\).
Dữ liệu ra
- Một số nguyên là số cặp đoạn thẳng cắt nhau. Nhắc lại, chỉ có một đoạn thẳng song song với trục \(X\) và một đoạn thẳng song song với trục \(Y\) thì mới có thể cắt nhau.
Ràng buộc
- 50% số điểm của bài tương ứng với các test có \(N \le 5000\).
Input 1
3
-2 0 2 0
-1 0 1 0
0 -1 0 1
Output 1
2
Nhận xét