CF1440A Buy the String

Description

You are given four integers $ n $ , $ c_0 $ , $ c_1 $ and $ h $ and a binary string $ s $ of length $ n $ . A binary string is a string consisting of characters $ 0 $ and $ 1 $ . You can change any character of the string $ s $ (the string should be still binary after the change). You should pay $ h $ coins for each change. After some changes (possibly zero) you want to buy the string. To buy the string you should buy all its characters. To buy the character $ 0 $ you should pay $ c_0 $ coins, to buy the character $ 1 $ you should pay $ c_1 $ coins. Find the minimum number of coins needed to buy the string.

Input Format

The first line contains a single integer $ t $ ( $ 1 \leq t \leq 10 $ ) — the number of test cases. Next $ 2t $ lines contain descriptions of test cases. The first line of the description of each test case contains four integers $ n $ , $ c_{0} $ , $ c_{1} $ , $ h $ ( $ 1 \leq n, c_{0}, c_{1}, h \leq 1000 $ ). The second line of the description of each test case contains the binary string $ s $ of length $ n $ .

Output Format

For each test case print a single integer — the minimum number of coins needed to buy the string.

Explanation/Hint

In the first test case, you can buy all characters and pay $ 3 $ coins, because both characters $ 0 $ and $ 1 $ costs $ 1 $ coin. In the second test case, you can firstly change $ 2 $ -nd and $ 4 $ -th symbols of the string from $ 1 $ to $ 0 $ and pay $ 2 $ coins for that. Your string will be $ 00000 $ . After that, you can buy the string and pay $ 5 \cdot 10 = 50 $ coins for that. The total number of coins paid will be $ 2 + 50 = 52 $ .