만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

표 나누기

시간 제한1초메모리 제한512 MB

요약
1부터 n×m까지 행 순서로 채운 표를 세로 또는 가로로 한 번 잘라, 두 부분의 합 차이가 가장 작은 절단선을 찾습니다.
난이도

보통10점 중 6점

유형
수학, 이분 탐색, 구현
정답자
아직 제출이 없습니다

문제

nn개의 행과 mm개의 열로 이루어진 표가 있다. 표의 각 칸에는 행 단위로 1부터 n⋅mn \cdot m까지의 수가 차례로 적혀 있다. 즉 (r,c)(r, c) 칸에는 (r−1)⋅m+c(r - 1) \cdot m + c가 적혀 있다.

아래 그림은 n=3n = 3, m=5m = 5인 표이다.

12345
678910
1112131415

칸의 변을 따라 지나는 세로 또는 가로 직선 하나로 표를 두 부분으로 나눈다. 두 부분에 적힌 수의 합의 차이가 가능한 한 작아야 한다. 이 문제에서는 한 테스트에서 여러 질의에 대해 최적의 자르기를 구해야 한다.

입력

첫 줄에 질의의 개수 tt가 주어진다 (1≤t≤1051 \le t \le 10^5). 다음 tt개의 줄에는 각각 정수 nn, mm이 주어진다 (1≤n,m≤1091 \le n, m \le 10^9, 2≤n×m≤1092 \le n \times m \le 10^9).

출력

tt개의 줄에 각 질의의 답을 한 줄에 하나씩 출력한다. 답은 D $x$ 형식이다. D는 세로로 자르면 V, 가로로 자르면 H이다. xx는 자르기 직전의 열 번호 또는 행 번호이다. 행은 1부터 nn까지, 열은 1부터 mm까지 번호가 매겨진다. 올바른 답이 여러 개이면 세로 자르기 답을 출력한다. 그래도 여러 개이면 xx가 작은 답을 출력한다.

예제1

  1. 예제 1

    입력
    5
    1 3
    4 7
    1 10
    3 3
    3 5
    
    예상 출력
    V 3
    V 5
    V 8
    H 3
    V 4