#include <bits/stdc++.h>
using namespace std;
const int limite = 1005;
const int infinito = 1000000000;
int t[4][limite];
int n;
int a1, a2, a3, a4;
int memcalcula[4][4][4][4][limite];
int calculado[4][4][4][4][limite];
int calcula(int c0, int c1, int c2, int c3, int pos) {
  if (pos == n) return 0;
  int &mem = memcalcula[c0][c1][c2][c3][pos];
  if (calculado[c0][c1][c2][c3][pos]) return mem;
  calculado[c0][c1][c2][c3][pos] = 1;
  mem = infinito;
  for (int c = 0; c < 1 << 10; c++) {
    if ((c & 1) and c != 1) continue;
    int coste = 0;
    int d0 = c0;
    int d1 = c1;
    int d2 = c2;
    int d3 = c3;
    if (c & 1) {
      d0 = d1 = d2 = d3 = 4;
      coste += a4;
      if (n - pos < 3) continue;
    }
    if (c & 2) {
      d0 = d1 = d2 = 3;
      coste += a3;
      if (n - pos < 2) continue;
    }
    if (c & 4) {
      d1 = d2 = d3 = 3;
      coste += a3;
      if (n - pos < 2) continue;
    }
    if (c & 8) {
      d0 = max(d0, 2);
      d1 = max(d1, 2);
      coste += a2;
      if (n - pos < 1) continue;
    }
    if (c & 16) {
      d1 = max(d1, 2);
      d2 = max(d2, 2);
      coste += a2;
      if (n - pos < 1) continue;
    }
    if (c & 32) {
      d2 = max(d2, 2);
      d3 = max(d3, 2);
      coste += a2;
      if (n - pos < 1) continue;
    }
    if (c & 64) {
      d0 = max(d0, 1);
      coste += a1;
    }
    if (c & 128) {
      d1 = max(d1, 1);
      coste += a1;
    }
    if (c & 256) {
      d2 = max(d2, 1);
      coste += a1;
    }
    if (c & 512) {
      d3 = max(d3, 1);
      coste += a1;
    }
    if (t[0][pos] and not d0) continue;
    if (t[1][pos] and not d1) continue;
    if (t[2][pos] and not d2) continue;
    if (t[3][pos] and not d3) continue;
    mem = min(mem, coste + calcula(max(d0 - 1, 0), max(d1 - 1, 0),
                                   max(d2 - 1, 0), max(d3 - 1, 0), pos + 1));
  }
  return mem;
}
int main() {
  cin >> n;
  cin >> a1 >> a2 >> a3 >> a4;
  for (int i = 0; i < 4; i++) {
    for (int j = 0; j < n; j++) {
      char c;
      cin >> c;
      t[i][j] = c == '*';
    }
  }
  cout << calcula(0, 0, 0, 0, 0) << endl;
}
