#include <bits/stdc++.h>
using namespace std;
int n, m, i, j, k;
long long A[55][55], B[55][55], C[55][55], a[55], b[55], dp[55][55];
void work() {
  for (int i = 0; i <= 40; i++)
    for (int j = 0; j <= 40; j++) A[i][j] = C[i][j];
}
void ksm(int x) {
  if (x == 1) return;
  ksm(x / 2);
  for (int i = 0; i <= 40; i++)
    for (int j = 0; j <= 40; j++) {
      C[i][j] = 20453266144;
      for (int k = 0; k <= 40; k++) C[i][j] = min(C[i][j], A[i][k] + A[k][j]);
    }
  work();
  if (x % 2 == 1) {
    for (int i = 0; i <= 40; i++)
      for (int j = 0; j <= 40; j++) {
        C[i][j] = 2053266144;
        for (int k = 0; k <= 40; k++) C[i][j] = min(C[i][j], A[i][k] + B[k][j]);
      }
  }
  work();
}
int main() {
  scanf("%d%d", &n, &m);
  for (i = 1; i <= n; i++) scanf("%d", &a[i]);
  for (i = 1; i <= n; i++) scanf("%d", &b[i]);
  for (i = 0; i <= 40; i++) {
    for (j = 0; j <= 41; j++) dp[0][j] = 2053266144;
    dp[0][i] = 0;
    for (j = 1; j <= n; j++) {
      for (k = 0; k <= 40; k++) {
        dp[j][k] = dp[j - 1][k + 1] + b[j];
        if (k != 0) dp[j][k] = min(dp[j][k], dp[j - 1][k - 1] + a[j]);
      }
      dp[j][41] = 2053266144;
    }
    for (j = 0; j <= 40; j++) A[i][j] = dp[n][j];
  }
  for (i = 0; i <= 40; i++)
    for (j = 0; j <= 40; j++) B[i][j] = A[i][j];
  ksm(m);
  cout << A[0][0];
  return 0;
}
