#include<bits/stdc++.h>
using namespace std;
#define ff              first
#define ss              second
#define int             long long
#define ll              long long
#define pb              push_back
#define pii             pair<int,int>
#define vi              vector<int>
#define mii             map<int,int>
#define rep(i,n)        for(int i=0;i<n;i++)
#define rep1(i,n)        for(int i=1;i<n;i++)
#define VALUE(x) cerr << "The value of " << #x << " is " << x << endl
#define mod 1000000009
#define pi 3.141592653589793238


// cout<<fixed<<<<setprecision(9)<<ans<<endl;
// lower_bound(start_ptr, end_ptr, num)
// upper_bound(start_ptr, end_ptr, num)

int ceil(int a, int b) {
	if (a % b == 0)return a / b;
	else {
		return a / b + 1;
	}
}
int32_t main()
{
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	int t = 1;
	cin >> t;
	while (t--) {
		int n, u, v;
		cin >> n >> u >> v;

		int a[n];
		rep(i, n) {
			int ele;
			cin >> ele;
			ele--;
			a[i] = ele;
		}

		int max_diff = INT_MIN;
		for (int i = 1; i < n; i++) {
			max_diff = max(abs(a[i] - a[i - 1]), max_diff);
		}


		int ans = 0;

		if (max_diff == 0) {

			if (u < v) {
				ans = v + u;
			}
			else {
				ans = 2 * v;
			}

		}
		else if (max_diff == 1) {
			ans += min(u, v);
		}
		cout << ans << endl;



	}
	cin.clear();
	cin.get();
	return 0;
}