#include<bits/stdc++.h>
#pragma GCC optimize("O2,unroll-loops")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,mmx,avx,avx2")
using namespace std;

typedef unsigned long long ull;
typedef long long ll;
typedef long double ld;
typedef pair<int, int> pi;
typedef pair<ll, ll> pl;
typedef pair<ld, ld> pd;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<ld> vd;
#define FASTIO ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
#define PRECISION std::cout << std::fixed << std::setprecision(20);
#define umap unordered_map
#define uset unordered_set
#define PI 3.1415926535897932384 6
#define E  2.71828182845904523536  
#define nl '\n'
#define LINF 1e18
#define INF (1 << 30)

const int MAXN = 1e3 + 5;
int a[MAXN];
int main(){
    FASTIO
    PRECISION
    int qr;
    for(cin >> qr; qr > 0; qr--){
        int n; ll u, v;
        cin >> n >> u >> v;
        for(int i = 0; i < n; i++){
            cin >> a[i];
        }
        ll ans = min(2 * v, u + v);
        for(int i = 0; i < n; i++){
            if(i != n - 1 && abs(a[i] - a[i + 1]) > 1){
                ans = 0;
            }
            if(i != n - 1 && abs(a[i] - a[i + 1]) == 1){
                ans = min(ans, min(u,v));
            }
            if(i != 0 && abs(a[i] - a[i - 1]) > 1){
                ans = 0;
            }
            if(i != 0 && abs(a[i] - a[i - 1]) == 1){
                ans = min(ans, min(u,v));
            }
        }
        cout << ans << nl;
    }
}