#include <bits/stdc++.h>
using namespace std;
const int maxn = 40 + 10;
long long d[maxn][3][3];
bool vis[maxn][3][3];
int w[3][3], n;
long long dp(int cnt, int s, int t) {
  if (vis[cnt][s][t]) return d[cnt][s][t];
  vis[cnt][s][t] = true;
  long long& ans = d[cnt][s][t];
  if (cnt == 1) return ans = min(w[s][t], w[s][3 - t - s] + w[3 - t - s][t]);
  ans = min(dp(cnt - 1, s, 3 - t - s) + w[s][t] + dp(cnt - 1, 3 - t - s, t),
            2 * dp(cnt - 1, s, t) + w[s][3 - t - s] + dp(cnt - 1, t, s) +
                w[3 - t - s][t]);
  return ans;
}
int main() {
  memset(vis, false, sizeof(vis));
  for (int i = 0; i < 3; i++)
    for (int j = 0; j < 3; j++) scanf("%d", &w[i][j]);
  scanf("%d", &n);
  long long ans = dp(n, 0, 2);
  printf("%I64d\n", ans);
  return 0;
}
