#include <bits/stdc++.h>
using namespace std;
void test2() {
  int t;
  cin >> t;
  while (t--) {
    int n, m, x, y;
    cin >> n >> m >> x >> y;
    char vec[n][m];
    for (auto i = 0; i < n; i++) {
      for (auto j = 0; j < m; j++) {
        cin >> vec[i][j];
      }
    }
    int64_t ans = 0;
    for (auto i = 0; i < n; i++) {
      for (auto j = 0; j < m; j++) {
        if (j < m - 1) {
          if (vec[i][j] == '.') {
            if (vec[i][j + 1] == '.') {
              ans += min(2 * x, y);
              j++;
            } else {
              ans += x;
            }
          }
        } else {
          if (vec[i][j] == '.') {
            ans += x;
          }
        }
      }
    }
    cout << ans << endl;
  }
}
int main() {
  test2();
  return 0;
}
