#!/usr/bin/python3 import sys # stdout # enumerate from itertools import * # chain from_iterable product from math import * # sqrt floor ceil from copy import copy, deepcopy from collections import * # Counter defaultdict deque from queue import Queue from heapq import heappush, heappop, heapify from operator import * # itemgetter from functools import reduce from string import ascii_lowercase, ascii_uppercase gi = lambda: int(input()) gis = lambda: list(map(int, input().split())) gs = lambda: input() skiplast = lambda x: range(len(x)-1) is_even = lambda x: x%2 == 0 inf = float('inf') def mat_mul(l, g): z = zip(*g) return [sum(mul(k,t) for k,t in i) for i in [zip(l,i) for i in z]] def neighbors(r, c, n, m): if r-1>=0: yield r-1, c if c-1>=0: yield r,c-1 if r+1