Submit solution
Points:
1.50 (partial)
Time limit:
1.0s
Memory limit:
512M
Input:
stdin
Output:
stdout
Suggester:
Problem source:
Problem types
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho ~n~ điểm trên mặt phẳng, sao cho không có ~3~ điểm nào cùng nằm trên một đường thẳng.
Hai đoạn thẳng ~\overline{AB}~ và ~\overline{CD}~ được gọi là bắt tréo nhau nếu chúng có một điểm chung ~X~ khác các điểm ~A, B, C~ và ~D~.
Gọi ~S~ là tập hợp của tất cả các đoạn thẳng được tạo ra bởi các cặp điểm trong các điểm đã cho. Hãy tìm số đoạn thẳng thuộc ~S~ mà không bắt tréo bất kì đoạn thẳng nào khác trong ~S~.
Input
Dòng đầu tiên chứa một số nguyên ~n~ ~(3 \le n \le 1000)~, là số lượng điểm.
~n~ dòng tiếp theo, dòng thứ ~i~ chứa hai số nguyên ~x_i~ và ~y_i~ ~(-10^9 \le x_i, y_i \le 10^9)~, là toạ độ của điểm thứ ~i~.
Output
In ra số lượng đoạn thẳng thoả mãn yêu cầu.
Sample 1
Input
4
1 1
-1 1
-1 -1
1 -1
Output
4
Sample 2
Input
4
-1 -1
1 -1
0 1
0 0
Output
6
Subtask
- ~11~ test đầu tiên có ~3 \le n \le 40~.
- ~12~ test tiếp theo có ~3 \le n \le 200~.
- ~19~ test còn lại không có điều kiện gì thêm.
Note
Giải thích các ví dụ:
Comments