#include #include using namespace std; using i32 = int; using u32 = unsigned int; using i64 = long long; using u64 = unsigned long long; #define FAST_IO \ ios::sync_with_stdio(false); \ cin.tie(0); const i64 INF = 1001001001001001001; using Modint = atcoder::static_modint<998244353>; using mint = atcoder::modint; int main() { FAST_IO int n, b; cin >> n >> b; mint::set_mod(b); i64 m[3][3]; for (auto i : views::iota(0, 3)) { for (auto j : views::iota(0, 3)) { int x; cin >> x; m[i][j] = x; } } i64 det = 0; for (auto i : views::iota(0,3)){ int j = (i + 1) % 3; int k = (i + 2) % 3; i64 cur = m[0][i] * (m[1][j] * m[2][k] - m[1][k] * m[2][j]); det += cur; } mint v = abs(det); cout << v.pow(n).val() << endl; }