#include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; int month[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; bool ok(ll n) { int digit[15], cc = 0; ll xx = n; while (xx > 0) { digit[cc ++] = xx % 10; xx /= 10; } int x = digit[0]; if (x == digit[1] && x == digit[2] && x == digit[3] && x == digit[4]) return true; x = digit[1] - digit[0]; bool flag = true; for (int i = 2; i < 5; ++ i) { if (digit[i] - digit[i - 1] != x) { flag = false; break; } } if (flag && abs(x) == 1) return true; int d = n % 100; n /= 100; int m = n % 100; n /= 100; int y = n % 10000; if (y < 1980 || y > 2016) return false; if (m > 12 || m == 0) return false; if (m != 2 && (d > month[m] || d == 0)) return false; int dd = month[m] + (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)); if (d > dd || d == 0) return false; return true; } int main(void) { int T; scanf("%d", &T); while (T -- > 0) { int n, a, b; scanf("%d%d%d", &n, &a, &b); ll ans = 0; for (int i = 0; i < n; ++ i) { ll x; scanf("%I64d", &x); if (ok(x)) { ans += a; } else { ans += b; } } printf("%I64d\n", ans); } return 0; }