#include <bits/stdc++.h>
using namespace std;
int main() {
  ofstream out("output.txt");
  auto start = chrono::high_resolution_clock::now();
  long long t;
  cin >> t;
  for (int test = 1; test <= t; test++) {
    long long n, g, p;
    string s;
    cin >> n >> g >> p >> s;
    long long i = 0;
    while (s[i] != '1' && i < n) i++;
    long long sm = (i)*p + (i + 1) * g;
    if (i == n) {
      sm = (n + 1) * p + n * g;
      cout << sm << "\n";
      continue;
    }
    long long j = i;
    bool one = true;
    while (j < n) {
      while (((s[j] != '0' && one) || (s[j] != '1' && !one)) && j < n) j++;
      if (j >= n) break;
      if (one)
        sm += (j - i) * 2 * p + (j - i) * g;
      else {
        long long c1 = (j - i) * g + 2 * g + (j - i) * p + p;
        long long c2 = (j - i) * g + (j - i) * 2 * p;
        sm += min(c1, c2);
      }
      one = s[j] == '1';
      i = j;
    }
    sm += (j - i + 1) * p + (j - i + 1) * g;
    sm += p;
    cout << sm << "\n";
  }
  auto stop = chrono::high_resolution_clock::now();
}
