I=input
exec(int(I())*"n,a,b=map(int,I().split());s=x,*_=I();print(a*n+b*(n,s.count(x+'01'[x<'1'])+1)[b<0]);")
/*ahmedkhaled*/
#include<iostream>
#include<string>
#include<iomanip>
#include <algorithm>
#include <math.h>
#include <vector>
#include <stack>
#include <queue>
#include<set>
#include <array>
#define ll long long
#define flash ios::sync_with_stdio(false), cout.tie(NULL), cin.tie(NULL);
using namespace std;
/*void fun(int &a,int &b){
ll mn=min(a,b);
a-=mn;
b-=mn;
}*/
void go(){
int n,a,b;
cin>>n>>a>>b;
string s;cin>>s;
if(b>=0){
cout<<n*(a+b)<<'\n';
}else {
int sum=1;
for(int i=0;i+1<n;i++){
if((s[i]!=s[i+1]))
++sum;
}
cout<<a*n+b*(sum/2+1)<<'\n';
}
}
int main() {
int t;cin>>t;
while(t--){
go();
}
}
535A - Tavas and Nafas | 581A - Vasya the Hipster |
1537B - Bad Boy | 1406B - Maximum Product |
507B - Amr and Pins | 379A - New Year Candles |
1154A - Restoring Three Numbers | 750A - New Year and Hurry |
705A - Hulk | 492B - Vanya and Lanterns |
1374C - Move Brackets | 1476A - K-divisible Sum |
1333A - Little Artem | 432D - Prefixes and Suffixes |
486A - Calculating Function | 1373B - 01 Game |
1187A - Stickers and Toys | 313B - Ilya and Queries |
579A - Raising Bacteria | 723A - The New Year Meeting Friends |
302A - Eugeny and Array | 1638B - Odd Swap Sort |
1370C - Number Game | 1206B - Make Product Equal One |
131A - cAPS lOCK | 1635A - Min Or Sum |
474A - Keyboard | 1343A - Candies |
1343C - Alternating Subsequence | 1325A - EhAb AnD gCd |