foo.cc: In function 'int main()':
foo.cc:147:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
147 | for(int i=0;i<n;i++)
| ^~~
foo.cc:149:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
149 | for(int i=0;i<n;i++)
| ^~~
foo.cc: In instantiation of 'void convolution::poly<mint, g>::init(int) [with mint = convolution::modint::mint<998244353>; int g = 3]':
foo.cc:74:9: required from 'void convolution::poly<mint, g>::ntt(int, int) [with mint = convolution::modint::mint<998244353>; int g = 3]'
foo.cc:103:9: required from 'convolution::poly<mint, g> convolution::poly<mint, g>::convolution_ntt(convolution::poly<mint, g>) [with mint = convolution::modint::mint<998244353>; int g = 3]'
foo.cc:116:38: required from 'convolution::poly<mint, g>& convolution::poly<mint, g>::operator*=(const convolution::poly<mint, g>&) [with mint = convolution::modint::mint<998244353>; int g = 3]'
foo.cc:153:11: required from here
foo.cc:64:21: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
64 | if(r.size() < limit) r.resize(limit);
| ~~~~~~~~~^~~~~~~
foo.cc: In instantiation of 'convolution::modint::mint<m>& convolution::modint::mint<m>::operator+=(const convolution::modint::mint<m>&) [with int m = 998244353]':
foo.cc:36:56: required from 'convolution::modint::mint<m> convolution::modint::mint<m>::operator+(const convolution::modint::mint<m>&) [with int m = 998244353]'
foo.cc:88:30: required from 'void convolution::poly<mint, g>::ntt(int, int) [with mint = convolution::modint::mint<998244353>; int g = 3]'
foo.cc:103:9: required from 'convolution::poly<mint, g> convolution::poly<mint, g>::convolution_ntt(convolution::poly<mint, g>) [with mint = convolution::modint::mint<998244353>; int g = 3]'
foo.cc:116:38: required from 'convolution::poly<mint, g>& convolution::poly<mint, g>::operator*=(const convolution::poly<mint, g>&) [with mint = convolution::modint::mint<998244353>; int g = 3]'
foo.cc:153:11: required from here
foo.cc:32:54: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'const int' [-Wsign-compare]
32 | mint& operator+=(const mint& t){ x += t.x; if (x >= mod) x -= mod; return *this; }
| ~~^~~~~~
foo.cc: In instantiation of 'convolution::modint::mint<m>& convolution::modint::mint<m>::operator-=(const convolution::modint::mint<m>&) [with int m = 998244353]':
foo.cc:37:56: required from 'convolution::modint::mint<m> convolution::modint::mint<m>::operator-(const convolution::modint::mint<m>&) [with int m = 998244353]'
foo.cc:89:36: required from 'void convolution::poly<mint, g>::ntt(int, int) [with mint = convolution::modint::mint<998244353>; int g = 3]'
foo.cc:103:9: required from 'convolution::poly<mint, g> convolution::poly<mint, g>::convolution_ntt(convolution::poly<mint, g>) [with mint = convolution::modint::mint<998244353>; int g = 3]'
foo.cc:116:38: required from 'convolution::poly<mint, g>& convolution::poly<mint, g>::operator*=(const convolution::poly<mint, g>&) [with mint = convolution::modint::mint<998244353>; int g = 3]'
foo.cc:153:11: required from here
foo.cc:33:60: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'const int' [-Wsign-compare]
33 | mint& operator-=(const mint& t){ x += mod - t.x; if (x >= mod) x -= mod; return *this; }
| ~~^~~~~~
foo.cc:144:11: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
144 | scanf("%d",&a[i]);
| ~~~~~^~~~~~~~~~~~
foo.cc:146:11: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
146 | scanf("%d",&b[i]);
| ~~~~~^~~~~~~~~~~~
foo.cc:148:11: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
148 | scanf("%d",&c[i]);
| ~~~~~^~~~~~~~~~~~
[Hydro](https://hydro.ac)提供评测服务