#include <bits/stdc++.h>
using namespace std;
const long long inf = 1000000000000000000LL;
int a[22], b[22];
long long f[22], g[22], s[22][22], t[22][22], w[22][22];
int main() {
  int n, m;
  cin >> n >> m;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < n; i++) cin >> b[i];
  for (int i = 0; i <= n; i++) {
    for (int j = 0; j <= n; j++) f[j] = inf;
    f[i] = 0;
    for (int j = 0; j < n; j++) {
      for (int k = 0; k <= n; k++) g[k] = inf;
      for (int k = 0; k <= n; k++)
        if (f[k] != inf) {
          if (k < n) g[k + 1] = min(g[k + 1], f[k] + a[j]);
          if (k > 0) g[k - 1] = min(g[k - 1], f[k] + b[j]);
        }
      for (int k = 0; k <= n; k++) f[k] = g[k];
    }
    for (int j = 0; j <= n; j++) t[i][j] = f[j];
  }
  for (int i = 0; i <= n; i++)
    for (int j = 0; j <= n; j++) s[i][j] = inf;
  s[0][0] = 0;
  for (; m; m >>= 1) {
    if (m & 1) {
      for (int i = 0; i <= n; i++)
        for (int j = 0; j <= n; j++) {
          w[i][j] = inf;
          for (int k = 0; k <= n; k++)
            w[i][j] = min(w[i][j], s[i][k] + t[k][j]);
        }
      memcpy(s, w, sizeof(w));
    }
    for (int i = 0; i <= n; i++)
      for (int j = 0; j <= n; j++) {
        w[i][j] = inf;
        for (int k = 0; k <= n; k++) w[i][j] = min(w[i][j], t[i][k] + t[k][j]);
      }
    memcpy(t, w, sizeof(w));
  }
  cout << s[0][0] << endl;
  return 0;
}
