CF BUDDY
← Problems·

1098B · Nice table

2100 · brute force, constructive algorithms, greedy

Problem: You are given an n×mn \times m table, consisting of characters «A», «G», «C», «T». Let's call a table nice, if every 2×22 \times 2 square contains all four distinct characters. Your task is to find a nice table (also consisting of «A», «G», «C», «T»), that differs from the given table in the minimum number of characters.

Input Format: First line contains two positive integers nn and mm — number of rows and columns in the table you are given (2n,m,n×m3000002 \leq n, m, n \times m \leq 300\,000). Then, nn lines describing the table follow. Each line contains exactly mm characters «A», «G», «C», «T».

Output Format: Output nn lines, mm characters each. This table must be nice and differ from the input table in the minimum number of characters.

Note: In the first sample, the table is already nice. In the second sample, you can change 9 elements to make the table nice.

Sample Cases

Case 1

Input

2 2
AG
CT

Output

AG
CT

Case 2

Input

3 5
AGCAG
AGCAG
AGCAG

Output

TGCAT
CATGC
TGCAT

Similar problems

00:00:00
Loading editor…
Welcome! I'm your coding tutor for this problem. Use the chips below to reveal stored hints or get AI feedback on your code. I'll guide you step by step — never giving away the solution.

Sign in to unlock AI tutor feedback