Riley is a very bad boy, but at the same time, he is a yo-yo master. So, he decided to use his yo-yo skills to annoy his friend Anton.

Anton's room can be represented as a grid with $n$ rows and $m$ columns. Let $(i, j)$ denote the cell in row $i$ and column $j$. Anton is currently standing at position $(i, j)$ in his room. To annoy Anton, Riley decided to throw exactly two yo-yos in cells of the room (they can be in the same cell).

Because Anton doesn't like yo-yos thrown on the floor, he has to pick up both of them and return back to the initial position. The distance travelled by Anton is the shortest path that goes through the positions of both yo-yos and returns back to $(i, j)$ by travelling only to adjacent by side cells. That is, if he is in cell $(x, y)$ then he can travel to the cells $(x + 1, y)$, $(x - 1, y)$, $(x, y + 1)$ and $(x, y - 1)$ in one step (if a cell with those coordinates exists).

Riley is wondering where he should throw these two yo-yos so that the distance travelled by Anton is maximized. But because he is very busy, he asked you to tell him.


-----Input-----

The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of test cases. Then $t$ test cases follow.

The only line of each test case contains four integers $n$, $m$, $i$, $j$ ($1 \leq n, m \leq 10^9$, $1\le i\le n$, $1\le j\le m$) — the dimensions of the room, and the cell at which Anton is currently standing.


-----Output-----

For each test case, print four integers $x_1$, $y_1$, $x_2$, $y_2$ ($1 \leq x_1, x_2 \leq n$, $1\le y_1, y_2\le m$) — the coordinates of where the two yo-yos should be thrown. They will be thrown at coordinates $(x_1,y_1)$ and $(x_2,y_2)$.

If there are multiple answers, you may print any.


-----Examples-----

Input
7
2 3 1 1
4 4 1 2
3 5 2 2
5 1 2 1
3 1 3 1
1 1 1 1
1000000000 1000000000 1000000000 50
Output
1 2 2 3
4 1 4 4
3 1 1 5
5 1 1 1
1 1 2 1
1 1 1 1
50 1 1 1000000000


-----Note-----

Here is a visualization of the first test case.

Difficulty: EASY

Solutions:
import sys
inputs = []
for line in sys.stdin:
	inputs.append(line)
numCases = int(inputs[0].strip())
for l in range(1, numCases + 1):
	case = inputs[l].strip().split()
	n = int(case[0])
	m = int(case[1])
	print(f'1 1 {n} {m}')


for s in [*open(0)][1:]:
	print('1 1', *s.split()[:2])


import sys
t = int(sys.stdin.readline())
for x in range(t):
	(n, m, i, j) = map(int, sys.stdin.readline().split())
	print(f'1 1 {n} {m}')


import sys, random, bisect
from collections import deque, defaultdict
from heapq import heapify, heappop, heappush
from itertools import permutations
from math import gcd, log, comb, perm, factorial
mod = int(1000000000.0 + 7)
inf = int(1e+20)
input = lambda : sys.stdin.readline().rstrip()
mi = lambda : map(int, input().split())
li = lambda : list(mi())
ii = lambda : int(input())
t = ii()
for _ in range(t):
	(n, m, i, j) = li()
	print(f'{1} {1} {n} {m}')


cases = int(input())
grid_list = []
for case in range(cases):
	grid_list.append(list((int(x) for x in input().split())))
for grid in grid_list:
	print('1 ' + '1 ' + str(grid[0]) + ' ' + str(grid[1]))


for s in [*open(0)][1:]:
	(n, m, i, j) = map(int, s.split())
	print(1, 1, n, m)


from sys import stdin
input = stdin.readline
from itertools import accumulate

def solve():
	(n, m, x, y) = [int(char) for char in input().split()]
	return [1, 1, n, m]
for _ in range(int(input())):
	print(*solve())


import sys
input = sys.stdin.readline

def solve():
	(n, m, i, j) = map(int, input().split())
	return [1, 1, n, m]
for _ in range(int(input())):
	print(*solve())


t = int(input())
l1 = []
l2 = []
l3 = []
l4 = []
for k in range(t):
	(n, m, i, j) = map(int, input().split())
	l1.append(n)
	l2.append(m)
	l3.append(i)
	l4.append(j)
for i in range(len(l1)):
	print(1, 1, l1[i], l2[i])


from sys import stdin

def A():
	t = stdin.readline()
	t = int(t)
	while t:
		k = stdin.readline()
		n = [int(x) for x in stdin.readline().split()]
		res = 0
		for i in n:
			res += i
		k = len(n)
		if res % k == 0 and res / k == 1:
			print(0)
		elif res < 0:
			print(1)
		elif res % k != 0:
			print(res % k)
		else:
			print(res - res // k + 1)
		t -= 1

def B():
	t = stdin.readline()
	t = int(t)
	while t:
		t -= 1
		a = [int(x) for x in stdin.readline().split()]
		(n, m, i, j) = (a[0], a[1], a[2], a[3])
		(x1, y1, x2, y2) = (1, 1, n, m)
		print(x1, y1, x2, y2)
B()


import sys
input = lambda : sys.stdin.readline()
int_arr = lambda : list(map(int, input().split()))
str_arr = lambda : list(map(str, input().split()))
get_str = lambda : map(str, input().split())
get_int = lambda : map(int, input().split())
get_flo = lambda : map(float, input().split())
mod = 1000000007

def solve():
	pass
for _ in range(int(input())):
	(x, y, i, j) = get_int()
	print(1, 1, x, y)


l = []
t = int(input())
for ti in range(t):
	x = [int(x) for x in input().split()]
	l.append([x[0], x[1]])
for j in range(t):
	print('1 1', l[j][0], l[j][1])


for _ in range(int(input())):
	(n, m, x, y) = map(int, input().split())
	print(f'1 1 {n} {m}')


for run in range(int(input())):
	(n, m, i, j) = map(int, input().split())
	print(f'1 1 {n} {m}')


import sys
input = sys.stdin.readline
t = int(input())
for _ in range(t):
	(n, m, i, j) = map(int, input().split())
	print(1, 1, n, m)


for s in [*open(0)][1:]:
	(n, m, *_) = map(int, s.split())
	print(1, 1, n, m)


import math
import sys
input = sys.stdin.readline

def solve():
	x = [int(_) for _ in input().split()]
	print(1, 1, x[0], x[1])
tt = int(input())
for test in range(tt):
	solve()


t = int(input())
for case in range(t):
	(n, m, i, j) = map(int, input().split())
	print('1 1 {} {}'.format(n, m))


t = int(input())
while t > 0:
	x = list(map(int, input().split(' ')))
	row = x[0]
	col = x[1]
	i = x[2]
	j = x[3]
	s = '1 1 ' + str(row) + ' ' + str(col)
	print(s)
	t -= 1


num_test_cases = int(input())
results = []
for c in range(num_test_cases):
	line = input()
	(n, m, i, j) = line.split(sep=' ')
	results.append([1, 1, n, m])
for l in results:
	print(*l, sep=' ')


for _ in range(int(input())):
	x = input()
	(n, m, i, j) = x.split(' ')
	print('1 1 ' + n + ' ' + m)


import sys
from math import ceil, floor
from collections import deque

def get_ints():
	return map(int, sys.stdin.readline().strip().split())

def get_array():
	return list(get_ints())

def input():
	return sys.stdin.readline().strip()

def gcd(x, y):
	while y:
		(x, y) = (y, x % y)
	return x
T = int(input())
while T > 0:
	(n, m, i, j) = get_ints()
	print(1, 1, n, m)
	T -= 1


for _ in range(int(input())):
	n = input().split()
	print(f'1 1 {n[0]} {n[1]}')


for _ in range(int(input())):
	(n, m, i, j) = map(int, input().split())
	print('%d %d %d %d' % (1, 1, n, m))


import math
import sys
import itertools
import fractions
wtf = sys.stdin.read()
wtf = wtf.strip().split('\n')
GAP = 1
for t in [wtf[i:i + GAP] for i in range(1, len(wtf), GAP)]:
	(n, m, i, j) = map(int, t[0].split())
	ans = []
	ans.append(abs(1 - i) + abs(1 - j) + abs(n - i) + abs(m - j))
	ans.append(abs(1 - i) + abs(m - j) + abs(n - i) + abs(1 - j))
	tmp = [(1, 1, n, m), (1, m, n, 1)]
	ans = sorted(range(len(ans)), key=lambda k: ans[k], reverse=True)
	print(' '.join(map(str, tmp[ans[0]])))


for i in range(int(input())):
	(n, m, x, y) = list(map(int, input().split()))
	print('1 1 ' + str(n) + ' ' + str(m))


t = int(input())
for oasdfj in range(t):
	array = [int(x) for x in input().split()]
	print(f'1 1 {array[0]} {array[1]}')


import sys

def inp():
	return sys.stdin.readline().rstrip('\r\n')

def N():
	return int(inp())

def lis():
	return list(map(int, inp().split()))

def stringlis():
	return list(map(str, inp().split()))

def take():
	return map(int, inp().split())

def strsep():
	return map(str, inp().split())

def fsep():
	return map(float, inp().split())

def testcase(t):
	for p in range(t):
		solve()

def solve():
	(n, m, i, j) = take()

	def f(t):
		return abs(t[0][0] - i) + abs(t[0][1] - j) + abs(t[1][0] - i) + abs(t[1][1] - j)
	firster = [[1, 1], [n, m]]
	seconder = [[1, m], [n, 1]]
	if f(firster) <= f(seconder):
		print(firster[0][0], firster[0][1], firster[1][0], firster[1][1])
	else:
		print(seconder[0][0], seconder[0][1], seconder[1][0], seconder[1][1])
testcase(N())


t = int(input())
for u in range(0, t):
	(n, m, i, j) = input().split()
	print('1 1 ', end='')
	print(n + ' ' + m)


def solve(n, m, i, j):
	res = '1 1 ' + str(n) + ' ' + str(m)
	print(res)
t = int(input())
for _ in range(t):
	(n, m, i, j) = map(int, input().split())
	solve(n, m, i, j)


n = int(input())
posList = []
for i in range(n):
	case = list(map(int, input().split()))
	posCase = [1, 1, case[0], case[1]]
	posList.append(posCase)
for i in range(n):
	print(posList[i][0], posList[i][1], posList[i][2], posList[i][3])


t = int(input())
for i in range(t):
	(n, m, i, j) = input().split()
	print('1 1 ' + str(n) + ' ' + str(m))


t = int(input())
for i in range(t):
	(x1, y1, x2, y2) = map(int, input().split())
	print(1, 1, x1, y1)


import math
t = int(input())
while t:
	(n, m, i, j) = map(int, input().split())
	print(1, 1, n, m)
	t -= 1


t = int(input())
for i in range(t):
	(n, m, x, y) = map(int, input().split())
	print(1, 1, n, m)


t = int(input())
for _ in range(t):
	(n, m, i, j) = list(map(int, input().split()))
	print(1, 1, n, m)


t = int(input())
while t:
	(a, b, c, d) = map(int, input().split())
	print(1, 1, a, b)
	t -= 1


for x in range(int(input())):
	(a, b, c, d) = map(int, input().split())
	print(1, 1, a, b)