#include <bits/stdc++.h>
using namespace std;
int n, m, a[21], b[21], dp[42][42], dp2[82][42];
int main() {
  cin >> n >> m;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < n; i++) cin >> b[i];
  memset(dp, 0, sizeof(dp));
  memset(dp2, 0, sizeof(dp2));
  dp[0][1] = a[0 % n];
  dp2[0][42] = a[0 % n];
  dp2[0][40] = b[0 % n];
  for (int i = 1; i < n * 2; i++) {
    for (int j = 0; j <= i + 1; j++) {
      if (j == i + 1)
        dp[i][j] = dp[i - 1][j - 1] + a[i % n];
      else if (j == 0)
        dp[i][j] = dp[i - 1][j + 1] + b[i % n];
      else
        dp[i][j] =
            min(dp[i - 1][j + 1] + b[i % n], dp[i - 1][j - 1] + a[i % n]);
    }
  }
  for (int i = 1; i < n * 2; i++) {
    for (int j = 41 - i - 1; j <= 41 + i + 1; j++) {
      if (j == 41 + i + 1)
        dp2[i][j] = dp2[i - 1][j - 1] + a[i % n];
      else if (j == 41 - i - 1)
        dp2[i][j] = dp2[i - 1][j + 1] + b[i % n];
      else
        dp2[i][j] =
            min(dp2[i - 1][j + 1] + b[i % n], dp2[i - 1][j - 1] + a[i % n]);
    }
  }
  cout << 1ll * (m - 2) / 2ll * dp2[2 * n - 1][41] + dp[2 * n - 1][0] << endl;
  return 0;
}
