#include <bits/stdc++.h>
using namespace std;
const long long int N = 2e5 + 5, mod = (long long int)1e9 + 7, bit = 31;
signed main() {
  ios_base::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL);
  long long int pro = 1, temp, t, m, n, k, i, j, l, r, mid, x, y, z, rem,
                carry = 0, ind, ans = 0, mx = -LONG_LONG_MAX,
                mn = LONG_LONG_MAX, cnt = 0, curr = 0, prev, nxt, sum = 0,
                flag = 1, i1 = -1, i2 = -1;
  cin >> t;
  while (t--) {
    cin >> n >> x >> y;
    string s;
    cin >> s;
    long long int a[n];
    flag = 0;
    for (i = 0; i <= n - 1; i++) {
      a[i] = s[i] - '0' + 1;
      flag |= (s[i] - '0');
    }
    ans = (n + 1) * y + n * x;
    if (!flag) {
      cout << ans << '\n';
      continue;
    }
    for (i = 0; i <= n - 1; i++) {
      j = i;
      cnt = 0;
      while (j < n && s[j] == '1') {
        j++;
        cnt++;
      }
      if (cnt) {
        ans += (cnt + 1) * y;
      }
      i = max(i, j - 1);
    }
    for (ind = 0; s[ind] == '0'; ind++)
      ;
    ans += x;
    for (; ind < n; ind++) {
      while (ind < n && s[ind] == '1') {
        ind++;
      }
      j = ind;
      cnt = -1;
      while (j < n && s[j] == '0') {
        cnt++;
        j++;
      }
      if (j == n) {
        ans += x;
        break;
      } else {
        ans += min(cnt * y, 2 * x);
        ind = j;
      }
    }
    cout << ans << '\n';
  }
  return 0;
}
