#include using namespace std; const int MX = 100000; int f(int a, int b, int x, int y, int A, int B) { return max((b + B + y - 1) / y - 1, a) + max((a + A + x - 1) / x - 1, b); } char s[MX + 1]; int main() { int T; ignore = scanf("%d", &T); while (T--) { int x, y, a = 0, b = 0, A = 0, B = 0; ignore = scanf(" %s %d %d", s, &x, &y); for (int i = 0; s[i] != 0; i++) (s[i] == 'a' ? a : b)++; while (a + b > 0) { bool giveApple; if (B == y) giveApple = true; else if (A == x) giveApple = false; else if (a == 0) giveApple = false; else if (b == 0) giveApple = true; else giveApple = f(a - 1, b, x, y, A + 1, 0) < f(a, b - 1, x, y, 0, B + 1); if (giveApple) { if (a > 0) { a--; printf("a"); } else printf("*"); A++; B = 0; } else { if (b > 0) { b--; printf("b"); } else printf("*"); B++; A = 0; } } printf("\n"); } return 0; }