Kilk Not

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

You are given a string ss consisting of zeros (0), ones (1), and question marks (?).

The number of question marks in ss is exactly a+ba + b.

Replace aa question marks with zeros and bb question marks with ones to obtain a binary string tt. Let f(t)f(t) be the length of the longest substring of tt consisting of equal digits (e.g. 11111 or 0000).

Your task is to minimize f(t)f(t).

입력

Each test contains multiple test cases. The first line contains the number of test cases tt (1t1051 \le t \le 10^5). Description of the test cases follows.

The first line of each test case contains three integers nn, aa, and bb (1n250,0001 \le n \le 250\\,000; 0a0 \le a; 0b0 \le b).

The second line contains a string ss of length nn consisting of characters 0, 1, and ?. The number of question marks in ss is equal to a+ba + b.

It is guaranteed that the sum of nn over all test cases does not exceed 250,000250\\,000.

출력

For each test case, print two lines.

In the first line, print a single integer f(t)f(t), denoting the smallest possible length of the longest substring of tt consisting of equal digits.

In the second line, print any string tt achieving this value of f(t)f(t) itself.