0_0_37453151_22044.cpp:40:50: error: 'operator>>' function uses 'auto' type specifier without trailing return type
friend auto &operator >> (istream &i, modint &a) {return i >> a.x; }
^
0_0_37453151_22044.cpp:40:50: note: deduced return type only available with -std=c++1y or -std=gnu++1y
0_0_37453151_22044.cpp:40:50: error: non-static data member declared 'auto'
0_0_37453151_22044.cpp:41:56: error: 'operator<<' function uses 'auto' type specifier without trailing return type
friend auto &operator << (ostream &o, const modint &z) { return o << z.x; }
^
0_0_37453151_22044.cpp:41:56: note: deduced return type only available with -std=c++1y or -std=gnu++1y
0_0_37453151_22044.cpp:41:56: error: non-static data member declared 'auto'
0_0_37453151_22044.cpp: In function 'void solve()':
0_0_37453151_22044.cpp:61:10: error: cannot bind 'std::istream {aka std::basic_istream<char>}' lvalue to 'std::basic_istream<char>&&'
cin >> a >> b >> k;
^
In file included from GCC4.9.2/x86_64-w64-mingw32/include/c++/sstream:38:0,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/complex:45,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/ccomplex:38,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/x86_64-w64-mingw32/bits/stdc++.h:52,
from 0_0_37453151_22044.cpp:10:
GCC4.9.2/x86_64-w64-mingw32/include/c++/istream:872:5: note: initializing argument 1 of 'std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&&, _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = modint<998244353>]'
operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x)
^
0_0_37453151_22044.cpp:64:25: error: cannot bind 'std::ostream {aka std::basic_ostream<char>}' lvalue to 'std::basic_ostream<char>&&'
cout << res * (a + b) << " " << res * (a - b) << "\n";
^
In file included from GCC4.9.2/x86_64-w64-mingw32/include/c++/istream:39:0,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/sstream:38,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/complex:45,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/ccomplex:38,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/x86_64-w64-mingw32/bits/stdc++.h:52,
from 0_0_37453151_22044.cpp:10:
GCC4.9.2/x86_64-w64-mingw32/include/c++/ostream:602:5: note: initializing argument 1 of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = modint<998244353>]'
operator<<(basic_ostream<_CharT, _Traits>&& __os, const _Tp& __x)
^
0_0_37453151_22044.cpp:66:19: error: cannot bind 'std::ostream {aka std::basic_ostream<char>}' lvalue to 'std::basic_ostream<char>&&'
cout << res * a << " " << res * b << "\n";
^
In file included from GCC4.9.2/x86_64-w64-mingw32/include/c++/istream:39:0,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/sstream:38,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/complex:45,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/ccomplex:38,
from GCC4.9.2/x86_64-w64-mingw32/include/c++/x86_64-w64-mingw32/bits/stdc++.h:52,
from 0_0_37453151_22044.cpp:10:
GCC4.9.2/x86_64-w64-mingw32/include/c++/ostream:602:5: note: initializing argument 1 of 'std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&&, const _Tp&) [with _CharT = char; _Traits = std::char_traits<char>; _Tp = modint<998244353>]'
operator<<(basic_ostream<_CharT, _Traits>&& __os, const _Tp& __x)
^
|