#include<bits/stdc++.h>
#define M 1000000007
#define ll long long
#define pb push_back
#define pi pair<int,int>
#define mp make_pair
#define vi vector<int>
#define vb vector<bool>
#define vll vector <long long>
#define tests int tc; cin>>tc; while(tc--)
#define defsort(arr) sort(arr.begin(), arr.end());
#define csort(arr, cmp) sort(arr.begin(), arr.end(), cmp);
#define printArray(a) for(auto num : a){cout<<num<<" ";}cout<<"\n";
#define fastio ios_base::sync_with_stdio(false); cin.tie(NULL);
using namespace std;

int main(){
	// fastio;
	int t = 1;
	tests{
		int i,n;
		ll u,v;
		cin>>n>>u>>v;
		vi a(n);
		for(i=0;i<n;i++){
			cin>>a[i];
		}
		// cout<<"tests "<<t++<<": ";
		// check if no wall
		for(i=1;i<n;i++){
			if(abs(a[i]-a[i-1]) > 1){
				break;
			}
		}
		if(i < n){
			cout<<"0\n";
			continue;
		}
		// need to break wall
		ll minCost = INT_MAX;
		for(i=1;i<n;i++){
			if(abs(a[i]-a[i-1]) == 1){
				minCost = min({minCost, u, v});
			}
			else if(abs(a[i]-a[i-1]) == 0){
				minCost = min(minCost,  v+min(u,v));
			}
		}
		cout<<minCost<<"\n";
	}
	return 0;
}