#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 7;
const long long mod = 1e9 + 7;
const int inf = 1 << 30;
char s[maxn];
int main() {
  int T;
  scanf("%d", &T);
  while (T--) {
    int n;
    long long a, b;
    scanf("%d%lld%lld", &n, &a, &b);
    scanf("%s", s);
    int len = strlen(s);
    long long ans = a * len + 2 * b;
    for (int i = 1; i < len; i++) {
      if (s[i] == '0') {
        if (s[i - 1] == '1')
          ans += 2 * b;
        else
          ans += b;
      }
      if (s[i] == '1') ans += 2 * b;
    }
    int left, right, num;
    for (int i = 0; i < len; i++) {
      if (s[i] == '0') {
        left = i;
        right = i;
        while (s[right] == '0' && right < len) right++;
        if (s[right] == '1')
          num = right - left;
        else
          num = 0;
        if (left == 0 && num != 0)
          ans += a;
        else if (left != 0 && num == 0)
          ans += a;
        else if (num != 0)
          ans += min(2 * a, (num - 1) * b);
        i = right;
      }
    }
    printf("%lld\n", ans);
  }
  return 0;
}
