A : 둘 중 정확히 하나만 다르면 출력


B : 소문자와 대문자를 따로 관리


C : 매번 최빈값을 다른 문자와 매칭해서 지우기


D : i번째 segment에서 위치할 수 있는 가장 왼쪽 지점과 가장 오른쪽 지점을 관리


E : carry가 일어나지 않아야 하니까 각 자리마다 독립적으로 분배하기


F : 오름차순이면 Reverse를 0번 또는 2번, 내림차순이면 Reverse를 1번 사용하기


G : Functional graph라 트리 부분을 리프부터 모두 떼어내고 사이클마다 따로 풀면 됨

사이클에 1이 홀수개면 불가능, 짝수개면 인접한 1들끼리 매칭해야 하니까 왼쪽으로 매칭하는 경우와 오른쪽으로 매칭하는 경우 중에 작은 걸 고르기