teams.cpp: In function 'int main()':
teams.cpp:32:31: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
32 | #define FOR(i, l, r) for (int (i) = (l); (i) <= (r); ++(i))
| ^
teams.cpp:59:5: note: in expansion of macro 'FOR'
59 | FOR(i, 1, n) cin >> a[i];
| ^~~
teams.cpp:32:31: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
32 | #define FOR(i, l, r) for (int (i) = (l); (i) <= (r); ++(i))
| ^
teams.cpp:60:5: note: in expansion of macro 'FOR'
60 | FOR(i, 1, n) f[i] = max(f[i - 1], a[i]);
| ^~~
teams.cpp:32:31: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
32 | #define FOR(i, l, r) for (int (i) = (l); (i) <= (r); ++(i))
| ^
teams.cpp:61:5: note: in expansion of macro 'FOR'
61 | FOR(i, 0, n + 1) d1[i] = 1;
| ^~~
teams.cpp:33:31: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
33 | #define FOS(i, r, l) for (int (i) = (r); (i) >= (l); --(i))
| ^
teams.cpp:62:5: note: in expansion of macro 'FOS'
62 | FOS(i, n, 1) {
| ^~~
teams.cpp:33:31: warning: unnecessary parentheses in declaration of 'j' [-Wparentheses]
33 | #define FOS(i, r, l) for (int (i) = (r); (i) >= (l); --(i))
| ^
teams.cpp:63:6: note: in expansion of macro 'FOS'
63 | FOS(j, i - 1, 0) d[j] = (d1[j + 1] + 1LL * j * d1[j] % M) % M;
| ^~~
teams.cpp:32:31: warning: unnecessary parentheses in declaration of 'j' [-Wparentheses]
32 | #define FOR(i, l, r) for (int (i) = (l); (i) <= (r); ++(i))
| ^
teams.cpp:64:6: note: in expansion of macro 'FOR'
64 | FOR(j, 1, a[i] - 1) rs = (rs + d1[f[i - 1]]) % M;
| ^~~
teams.cpp:33:31: warning: unnecessary parentheses in declaration of 'j' [-Wparentheses]
33 | #define FOS(i, r, l) for (int (i) = (r); (i) >= (l); --(i))
| ^
teams.cpp:65:6: note: in expansion of macro 'FOS'
65 | FOS(j, i - 1, 0) d1[j] = d[j];
| ^~~