#include <bits/stdc++.h>
using namespace std;
int main() {
  int test;
  cin >> test;
  while (test--) {
    int n, c0, c1, h;
    cin >> n >> c0 >> c1 >> h;
    string s;
    cin >> s;
    map<int, int> mp;
    int i = 0;
    while (i < s.length()) {
      int temp = s[i] - '0';
      auto itr = mp.find(temp);
      if (itr != mp.end())
        itr->second++;
      else
        mp.insert(make_pair(temp, 1));
      i++;
    }
    auto it = mp.begin();
    auto itt = mp.begin();
    itt++;
    int initial = (it->second * c0) + (itt->second * c1);
    int val = (it->second * c0) + (itt->second * c0) + (h * itt->second);
    int vall = (it->second * c1) + (itt->second * c1) + (h * it->second);
    if (mp.find(0) == mp.end()) {
      int r = (it->second * c1);
      int rr = (it->second * c0) + (h * it->second);
      cout << min(r, rr) << endl;
    } else if (mp.find(1) == mp.end()) {
      int r = (it->second * c0);
      int rr = (it->second * c1) + (h * it->second);
      cout << min(r, rr) << endl;
    } else
      cout << min(val, min(vall, initial)) << endl;
  }
  return 0;
}
