#include <bits/stdc++.h>
using namespace std;
long long f[200005][2];
char S[200005];
const long long INF = 1ll << 60;
int n, a, b, T;
int main() {
  scanf("%d", &T);
  while (T--) {
    scanf("%d%d%d", &n, &a, &b);
    scanf("%s", S + 1);
    for (int i = (0); i <= (n); ++i) f[i][0] = f[i][1] = INF;
    f[0][0] = b;
    for (int i = (1); i <= (n); ++i) {
      if (S[i] == '1')
        f[i][1] = f[i - 1][1] + b + b;
      else {
        f[i][0] = min(f[i - 1][0], f[i - 1][1] + a) + b;
        f[i][1] = min(f[i - 1][1], f[i - 1][0] + a) + b + b;
      }
    }
    printf("%I64d\n", f[n][0] + 1ll * a * n);
  }
  return 0;
}
