#include <cstdio>
#include <cstring>
#include <cmath>
#include <iostream>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <complex>
#include <algorithm>

using namespace std;
typedef long long LL;
const int INF = 0x3f3f3f3f;
const double pi = acos(-1);
const int maxn = 2e4+10, maxm = 1e6+5, maxc = 26;
const char bs = 'a';
const LL mod = 1e9+7;
inline LL qpow(LL a, LL n, LL MOD) { LL ans = 1; while (n) { if (n & 1)	ans = ans*a % MOD; a = a*a % MOD, n >>= 1; } return ans; }

int a[maxn];
int n, u, v;

int check() {
	int ans = max(u + v, max(u*2, v*2));
	for (int i = 2; i <= n; i++) {
		if (a[i] == a[i - 1])	ans = min(ans, min(v*2, u + v));
		else if (abs(a[i] - a[i - 1]) == 1) {
			ans = min(u, v);
		} else return 0;
	}
	return ans;
}

int main() {
	int T;
	scanf("%d", &T);
	while (T--) {
		scanf("%d%d%d", &n, &u, &v);
		for (int i = 1; i <= n; i++)	scanf("%d", &a[i]);
		printf("%d\n", check());
	}
	return 0;
}

