#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define fi first
#define se second
#define siz(x) (int)(x.size())
#define all(x) x.begin(), x.end()
#define debug_arr(x,len) for(int _=1; _<=len; _++) cout<<x[_]<<" "; cout<<'\n';
#define debug(x) cout<<'\n'<<#x<<": "<<x<<'\n';
const int mod = 1e9+7, maxN = 2e5+5;
int n, m, t, a[maxN], c[maxN], p, q, r;
struct Matrix
{
int n, m;
vector<vector<int>>d;
Matrix (int N, int M): n(N), m(M)
{
d.assign(n, vector<int>());
for(int i=0; i<n; i+=1) d[i].assign(m, 0);
}
Matrix operator*(Matrix b)
{
Matrix ans(n, b.m);
for(int i=0; i<n; i+=1)
{
for(int j=0; j<b.m; j+=1)
{
for(int k=0; k<m; k+=1)
{
ans.d[i][j] = (ans.d[i][j] + 1ll*d[i][k]*b.d[k][j]) % mod;
}
}
}
return ans;
}
};
Matrix mux(Matrix x, int y)
{
if(y == 1) return x;
Matrix ans = mux(x, y/2);
if(y & 1) return ans * ans * x;
else return ans * ans;
}
void solve()
{
}
int32_t main()
{
ios_base::sync_with_stdio(0); cin.tie(0);
cin>>n>>t;
for(int i=0; i<n; i+=1) cin>>a[i];
for(int i=0; i<n; i+=1) cin>>c[i];
cin>>p>>q>>r;
if(t < n)
{
cout<<a[t]<<'\n'; return 0;
}
Matrix A(n+3, n+3);
for(int i=0; i<n; i+=1) A.d[i][0] = c[i];
A.d[n][0] = p; A.d[n+1][0] = q; A.d[n+2][0] = r;
for(int i=1; i<n; i+=1) A.d[i-1][i] = 1;
A.d[n][n] = 1;
A.d[n][n+1] = 1; A.d[n+1][n+1] = 1;
A.d[n][n+2]=A.d[n+2][n+2]=1; A.d[n+1][n+2]=2;
Matrix ans(1, n+3);
for(int i=0; i<n; i+=1)
{
ans.d[0][i] = a[n-1-i];
}
ans.d[0][n] = 1; ans.d[0][n+1] = n; ans.d[0][n+2] = n*n;
ans = ans * mux(A, t-n+1);
cout<<ans.d[0][0]<<'\n';
}
// vector hang V(i) = (a[i], a[i-1], a[i-2], ..., a[i-n+1], 1, i, i^2);
// can tinh V(i+1) = (a[i+1], a[i], a[i-1], ..., a[i-n+2], 1, i+1, (i+1)^2); -> ez;
I3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0IikKI3ByYWdtYSBHQ0Mgb3B0aW1pemUoInVucm9sbC1sb29wcyIpCiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGZpIGZpcnN0CiNkZWZpbmUgc2Ugc2Vjb25kCiNkZWZpbmUgc2l6KHgpIChpbnQpKHguc2l6ZSgpKQojZGVmaW5lIGFsbCh4KSB4LmJlZ2luKCksIHguZW5kKCkKI2RlZmluZSBkZWJ1Z19hcnIoeCxsZW4pIGZvcihpbnQgXz0xOyBfPD1sZW47IF8rKykgY291dDw8eFtfXTw8IiAiOyBjb3V0PDwnXG4nOwojZGVmaW5lIGRlYnVnKHgpIGNvdXQ8PCdcbic8PCN4PDwiOiAiPDx4PDwnXG4nOwpjb25zdCBpbnQgbW9kID0gMWU5KzcsIG1heE4gPSAyZTUrNTsKCmludCBuLCBtLCB0LCBhW21heE5dLCBjW21heE5dLCBwLCBxLCByOwpzdHJ1Y3QgTWF0cml4CnsKICAgIGludCBuLCBtOwogICAgdmVjdG9yPHZlY3RvcjxpbnQ+PmQ7CiAgICBNYXRyaXggKGludCBOLCBpbnQgTSk6IG4oTiksIG0oTSkKICAgIHsKICAgICAgICBkLmFzc2lnbihuLCB2ZWN0b3I8aW50PigpKTsKICAgICAgICBmb3IoaW50IGk9MDsgaTxuOyBpKz0xKSBkW2ldLmFzc2lnbihtLCAwKTsKICAgIH0KICAgIAogICAgTWF0cml4IG9wZXJhdG9yKihNYXRyaXggYikKICAgIHsKICAgICAgICBNYXRyaXggYW5zKG4sIGIubSk7CiAgICAgICAgZm9yKGludCBpPTA7IGk8bjsgaSs9MSkKICAgICAgICB7CiAgICAgICAgICAgIGZvcihpbnQgaj0wOyBqPGIubTsgais9MSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgZm9yKGludCBrPTA7IGs8bTsgays9MSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBhbnMuZFtpXVtqXSA9IChhbnMuZFtpXVtqXSArIDFsbCpkW2ldW2tdKmIuZFtrXVtqXSkgJSBtb2Q7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuIGFuczsKICAgIH0KfTsKCk1hdHJpeCBtdXgoTWF0cml4IHgsIGludCB5KQp7CiAgICBpZih5ID09IDEpIHJldHVybiB4OwogICAgTWF0cml4IGFucyA9IG11eCh4LCB5LzIpOwogICAgaWYoeSAmIDEpIHJldHVybiBhbnMgKiBhbnMgKiB4OwogICAgZWxzZSByZXR1cm4gYW5zICogYW5zOwp9Cgp2b2lkIHNvbHZlKCkKewogICAgCn0KCmludDMyX3QgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7CiAgICBjaW4+Pm4+PnQ7CiAgICBmb3IoaW50IGk9MDsgaTxuOyBpKz0xKSBjaW4+PmFbaV07CiAgICBmb3IoaW50IGk9MDsgaTxuOyBpKz0xKSBjaW4+PmNbaV07CiAgICBjaW4+PnA+PnE+PnI7CiAgICBpZih0IDwgbikKICAgIHsKICAgICAgICBjb3V0PDxhW3RdPDwnXG4nOyByZXR1cm4gMDsKICAgIH0KICAgIE1hdHJpeCBBKG4rMywgbiszKTsKICAgIGZvcihpbnQgaT0wOyBpPG47IGkrPTEpIEEuZFtpXVswXSA9IGNbaV07CiAgICBBLmRbbl1bMF0gPSBwOyBBLmRbbisxXVswXSA9IHE7IEEuZFtuKzJdWzBdID0gcjsKICAgIAogICAgZm9yKGludCBpPTE7IGk8bjsgaSs9MSkgQS5kW2ktMV1baV0gPSAxOwogICAgQS5kW25dW25dID0gMTsKICAgIEEuZFtuXVtuKzFdID0gMTsgQS5kW24rMV1bbisxXSA9IDE7CiAgICBBLmRbbl1bbisyXT1BLmRbbisyXVtuKzJdPTE7IEEuZFtuKzFdW24rMl09MjsKICAgIE1hdHJpeCBhbnMoMSwgbiszKTsKICAgIGZvcihpbnQgaT0wOyBpPG47IGkrPTEpCiAgICB7CiAgICAgICAgYW5zLmRbMF1baV0gPSBhW24tMS1pXTsKICAgIH0KICAgIGFucy5kWzBdW25dID0gMTsgYW5zLmRbMF1bbisxXSA9IG47IGFucy5kWzBdW24rMl0gPSBuKm47CiAgICBhbnMgPSBhbnMgKiBtdXgoQSwgdC1uKzEpOwogICAgY291dDw8YW5zLmRbMF1bMF08PCdcbic7Cn0KCi8vIHZlY3RvciBoYW5nIFYoaSkgPSAoYVtpXSwgYVtpLTFdLCBhW2ktMl0sIC4uLiwgYVtpLW4rMV0sIDEsIGksIGleMik7Ci8vIGNhbiB0aW5oIFYoaSsxKSA9IChhW2krMV0sIGFbaV0sIGFbaS0xXSwgLi4uLCBhW2ktbisyXSwgMSwgaSsxLCAoaSsxKV4yKTsgLT4gZXo7