#include <bits/stdc++.h>
using namespace std;
void solve();
signed main() {
  srand(time(0));
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cout.setf(ios::fixed);
  cout.precision(6);
  solve();
}
const long long INF = 1e18, MAXN = 2e5 + 10, MOD = 1e9 + 7;
void calc() {
  long long n, a, b;
  cin >> n >> a >> b;
  string s;
  cin >> s;
  bool flag = true;
  for (long long i = 0; i < n; ++i) {
    if (s[i] == '1') {
      flag = false;
    }
  }
  if (flag) {
    cout << n * a + (n + 1) * b << "\n";
    return;
  }
  long long ans = n * a + (n + 1) * b;
  long long i = 0, j = n - 1;
  while (i < n && s[i] == '0') {
    i++;
  }
  while (j >= 0 && s[j] == '0') {
    j--;
  }
  ans += 2 * a;
  while (i <= j) {
    long long cnt = 0;
    if (s[i] == '0') {
      while (i <= j && s[i] != '1') {
        i++;
        cnt++;
      }
      ans += min((cnt - 1) * b, 2 * a);
    } else {
      while (i <= j && s[i] != '0') {
        i++;
        cnt++;
      }
      ans += (cnt + 1) * b;
    }
  }
  cout << ans << "\n";
}
void solve() {
  long long t;
  cin >> t;
  for (long long i = 0; i < t; ++i) {
    calc();
  }
}
