#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
const long long INF64 = 1e18;
const double eps = 1e-8;
const int maxn = 2e5 + 5;
long long T;
long long n;
char s[maxn];
long long a, b;
long long ans;
signed main() {
  scanf("%lld", &T);
  while (T--) {
    scanf("%lld%lld%lld", &n, &a, &b);
    scanf("%s", s + 1);
    ans = 1ll * a * n;
    long long tmp = -1;
    for (long long i = 1; i <= n; i++)
      if (s[i] == '1') {
        if (tmp == -1)
          ans += 1ll * (i + 2) * b + a;
        else
          ans += min(2ll * a + 1ll * (i - tmp + 2) * b, 2ll * (i - tmp) * b);
        tmp = i;
      }
    if (tmp == -1)
      printf("%lld\n", n * a + (n + 1) * b);
    else {
      ans += a + (n - tmp + 1) * b;
      printf("%lld\n", ans);
    }
  }
  return 0;
}
