In [ ]:


In [ ]:
import itertools


t = int(raw_input())


class Node(object):
    
    def __init__(self, value=None):
        self._value = value
        self._smaller = None
        self._bigger = None
    
    def put(self, value):
        if self._value is None:
            self._value = value
            return
        
        if value <= self._value:
            if self._smaller is None:
                self._smaller = Node()
            self._smaller.put(value)
        else: 
            if self._bigger is None:
                self._bigger = Node()
            self._bigger.put(value)
    
    def liking(self, alpha, beta):
        return (self.even_sum() * alpha) - (self.odd_sum() * beta)
    
    def even_sum(self):
        return self._alternate_sum(False)
    
    def odd_sum(self):
        return self._alternate_sum(True)

    def _alternate_sum(self, skip):
        this = 0 if skip else self._value
        smaller = self._smaller._alternate_sum(not skip) if self._smaller else 0
        bigger = self._bigger._alternate_sum(not skip) if self._bigger else 0
        return this + smaller + bigger
    
    def hash(self):
        s_hash = self._smaller.hash() if self._smaller else ''
        b_hash = self._bigger.hash() if self._bigger else ''
        return '[%s,[%s],[%s]]' % (self._value, s_hash, b_hash)    

    
def test(n, a, alpha, beta):
    liking_sum = 0
    seen = set()
    permutations = itertools.permutations(a)
    for permutation in permutations:
        tree = Node()
        for i in permutation:
            tree.put(i)
        hash = tree.hash()
        if hash not in seen:
            liking_sum += tree.liking(alpha, beta)
            seen.add(hash)
    print liking_sum


for i in range(t):
    n = int(raw_input())
    alpha, beta = [int(x) for x in raw_input().split()]
    a = [int(x) for x in raw_input().split()]
    test(n, a, alpha, beta)