#include #include #include using namespace std; ifstream finput; int N; long elem[100000][2]; unsigned long bigCounter = 0; void read() { do { finput >> N; } while ((N < 1) || (N > 100000)); for (int i = 0; i < N; i++) { for (int j = 0; j < 2; j++) { do { finput >> elem[i][j]; } while ((elem[i][j] < pow(-10, 9)) || (elem[i][j] > pow(10, 9))); } } } void input() { finput.open("countm.in"); read(); finput.close(); } void algorithm() { for (int i = 0; i < N; i++) { unsigned long counterDown = 0 , counterUp = 0; for (int j = 0; j < N; j++) { if (elem[i][2] > elem[j][2]) { counterDown++; } else if (elem[i][2] < elem[j][2]) { counterUp++; } if ((counterDown == 2) && (counterUp == 2)) { bigCounter++; } } } bigCounter %= ((long)pow(10, 9) + 7); } void output() { ofstream foutput; foutput.open("countm.out"); foutput << bigCounter << endl; foutput.close(); } void main() { input(); algorithm(); output(); }