from collections import deque
from sys import setrecursionlimit
import heapq
def solve():
n, m = map(int, input().split(" "))
grid = [[1] * m for _ in range(n)]
q = []
for i in range(n): heapq.heappush(q, (0, i))
j = 0
cur = 0
while j < m:
cnt, i = heapq.heappop(q)
if cnt >= (m-1)//2: break
grid[i][j] = 0
heapq.heappush(q, (cnt+1, i))
cur += 1
if cur > n//2:
cur = 0
j += 1
if (n & 1): d = 2
else: d = 3
res = n + m - d
if n >= m and m <= d:
grid = [[1] * m for _ in range(n)]
res = n
if m >= n and n <= d:
grid = [[0] * m for _ in range(n)]
res = m
print(res)
for row in grid:
for c in row:
print("+" if c else "-", end = "")
print()
"""
"""
for _ in range(int(input())): solve()
Compilation message (stdout)
Compiling 'stones.py'...
=======
adding: __main__.pyc (deflated 45%)
=======
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |