typedef long long ll; const ll m = 1000000007; inline ll mod(ll n) { return (n % m + m) % m; } struct matrix { ll a, b, c, d; matrix operator*(const matrix &mat) const { return { mod(a * mat.a + b * mat.c), mod(a * mat.b + b * mat.d), mod(c * mat.a + d * mat....