X.cpp: In function ‘int main()’:
X.cpp:31:8: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto x : par) cnt[F(x.first)]++;
^
X.cpp:31:13: error: ‘x’ does not name a type
for (auto x : par) cnt[F(x.first)]++;
^
X.cpp:32:3: error: expected ‘;’ before ‘res’
res = fm(N, N - par.size() + cnt.size() - 2);
^
X.cpp:32:46: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
res = fm(N, N - par.size() + cnt.size() - 2);
^
X.cpp:33:3: error: expected primary-expression before ‘if’
if (res < 1) res = 1;
^
X.cpp:33:3: error: expected ‘)’ before ‘if’
X.cpp:34:8: warning: ‘auto’ changes meaning in C++11; please remove it [-Wc++0x-compat]
for (auto x : cnt) res = mul(res, x.second);
^
X.cpp:34:13: error: ‘x’ does not name a type
for (auto x : cnt) res = mul(res, x.second);
^
X.cpp:35:2: error: expected ‘;’ before ‘}’ token
}
^
X.cpp:35:2: error: expected primary-expression before ‘}’ token
X.cpp:35:2: error: expected ‘;’ before ‘}’ token
X.cpp:35:2: error: expected primary-expression before ‘}’ token
X.cpp:35:2: error: expected ‘)’ before ‘}’ token
X.cpp:35:2: error: expected primary-expression before ‘}’ token
X.cpp:21:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d%d", &N, &M);
^
X.cpp:24:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
int x, y; scanf("%d%d", &x, &y);
^