rect.cpp: In function 'long long int count_rectangles(std::vector<std::vector<int> >)':
rect.cpp:4:12: error: 'struct std::pair<const int, int>' has no member named 'ff'
#define ff ff
^
rect.cpp:114:39: note: in expansion of macro 'ff'
auto it = cnt[0][i - 1][j].find(x.ff);
^~
rect.cpp:5:12: error: 'struct std::pair<const int, int>' has no member named 'ss'
#define ss ss
^
rect.cpp:116:8: note: in expansion of macro 'ss'
x.ss = 1 + it -> ss;
^~
rect.cpp:4:12: error: 'struct std::pair<const int, int>' has no member named 'ff'
#define ff ff
^
rect.cpp:117:14: note: in expansion of macro 'ff'
update(x.ff, x.ss, 1);
^~
rect.cpp:5:12: error: 'struct std::pair<const int, int>' has no member named 'ss'
#define ss ss
^
rect.cpp:117:20: note: in expansion of macro 'ss'
update(x.ff, x.ss, 1);
^~
rect.cpp:4:12: error: 'struct std::pair<const int, int>' has no member named 'ff'
#define ff ff
^
rect.cpp:120:39: note: in expansion of macro 'ff'
auto it = cnt[1][i][j - 1].find(x.ff);
^~
rect.cpp:5:12: error: 'struct std::pair<const int, int>' has no member named 'ss'
#define ss ss
^
rect.cpp:122:8: note: in expansion of macro 'ss'
x.ss = 1 + it -> ss;
^~
rect.cpp:5:12: error: 'struct std::pair<const int, int>' has no member named 'ss'
#define ss ss
^
rect.cpp:123:20: note: in expansion of macro 'ss'
res += query(x.ss, N - 1);
^~
rect.cpp:5:12: error: 'struct std::pair<const int, int>' has no member named 'ss'
#define ss ss
^
rect.cpp:124:20: note: in expansion of macro 'ss'
res -= query(x.ss, x.ff - 1);
^~
rect.cpp:4:12: error: 'struct std::pair<const int, int>' has no member named 'ff'
#define ff ff
^
rect.cpp:124:26: note: in expansion of macro 'ff'
res -= query(x.ss, x.ff - 1);
^~
rect.cpp:4:12: error: 'struct std::pair<const int, int>' has no member named 'ff'
#define ff ff
^
rect.cpp:127:14: note: in expansion of macro 'ff'
update(x.ff, x.ss, -1);
^~
rect.cpp:5:12: error: 'struct std::pair<const int, int>' has no member named 'ss'
#define ss ss
^
rect.cpp:127:20: note: in expansion of macro 'ss'
update(x.ff, x.ss, -1);
^~