The map of the capital of Berland can be viewed on the infinite coordinate plane. Each point with integer coordinates contains a building, and there are streets connecting every building to four neighbouring buildings. All streets are parallel to the coordinate axes.

The main school of the capital is located in $(s_x, s_y)$. There are $n$ students attending this school, the $i$-th of them lives in the house located in $(x_i, y_i)$. It is possible that some students live in the same house, but no student lives in $(s_x, s_y)$.

After classes end, each student walks from the school to his house along one of the shortest paths. So the distance the $i$-th student goes from the school to his house is $|s_x - x_i| + |s_y - y_i|$.

The Provision Department of Berland has decided to open a shawarma tent somewhere in the capital (at some point with integer coordinates). It is considered that the $i$-th student will buy a shawarma if at least one of the shortest paths from the school to the $i$-th student's house goes through the point where the shawarma tent is located. It is forbidden to place the shawarma tent at the point where the school is located, but the coordinates of the shawarma tent may coincide with the coordinates of the house of some student (or even multiple students).

You want to find the maximum possible number of students buying shawarma and the optimal location for the tent itself.


-----Input-----

The first line contains three integers $n$, $s_x$, $s_y$ ($1 \le n \le 200\,000$, $0 \le s_x, s_y \le 10^{9}$) — the number of students and the coordinates of the school, respectively.

Then $n$ lines follow. The $i$-th of them contains two integers $x_i$, $y_i$ ($0 \le x_i, y_i \le 10^{9}$) — the location of the house where the $i$-th student lives. Some locations of houses may coincide, but no student lives in the same location where the school is situated.


-----Output-----

The output should consist of two lines. The first of them should contain one integer $c$ — the maximum number of students that will buy shawarmas at the tent. 

The second line should contain two integers $p_x$ and $p_y$ — the coordinates where the tent should be located. If there are multiple answers, print any of them. Note that each of $p_x$ and $p_y$ should be not less than $0$ and not greater than $10^{9}$.


-----Examples-----
Input
4 3 2
1 3
4 2
5 1
4 1

Output
3
4 2

Input
3 100 100
0 0
0 0
100 200

Output
2
99 100

Input
7 10 12
5 6
20 23
15 4
16 5
4 54
12 1
4 15

Output
4
10 11



-----Note-----

In the first example, If we build the shawarma tent in $(4, 2)$, then the students living in $(4, 2)$, $(4, 1)$ and $(5, 1)$ will visit it.

In the second example, it is possible to build the shawarma tent in $(1, 1)$, then both students living in $(0, 0)$ will visit it.

Difficulty: interview

Starter code:

Solutions:
n,x,y = map(int,input().split())
l = 0
r = 0
u = 0
d = 0
for i in range(n):
	a,b = map(int,input().split())
	if a < x:
		l += 1
	if a > x:
		r += 1
	if b < y:
		d += 1
	if b > y:
		u += 1
ans = max([l,r,u,d])
print(ans)
if ans == l:
	print(x-1,y)
elif ans == r:
	print(x+1,y)
elif ans == u:
	print(x,y+1)
else:
	print(x,y-1)							

import heapq
import math
from collections import *
from functools import reduce,cmp_to_key
import sys

input = sys.stdin.readline
M = mod = 10**9 + 7
def factors(n):return sorted(list(set(reduce(list.__add__,([i, n//i] for i in range(1, int(n**0.5) + 1) if n % i == 0)))))
def inv_mod(n):return pow(n, mod - 2, mod)

def li():return [int(i) for i in input().rstrip('\n').split(' ')]
def st():return input().rstrip('\n')
def val():return int(input())
def li2():return [i for i in input().rstrip('\n').split(' ')]



n,s1,s2 = li()
l = []
for i in range(n):l.append(li())
a1,a2,a3,a4 = [0]*4

for i in range(n):
    if s1 == l[i][0]:
        if s2<l[i][1]:
            a2+=1
        else:
            a4+=1
    elif s2 == l[i][1]:
        if s1<l[i][0]:
            a3+=1
        else:
            a1+=1
    else:
        if s1<l[i][0]:
            a3 += 1
        else:
            a1+=1
        if s2<l[i][1]:
            a2 += 1
        else:
            a4 += 1
ans = max(a1,a2,a3,a4)
print(ans)
if a1 == ans:
    print(s1-1,s2)
elif a3 == ans:
    print(s1+1,s2)
elif a2 == ans:
    print(s1,s2+1)
else:
    print(s1,s2-1)


n,sx,sy=map(int,input().split())
b=[0]*4
"""
    |
    1
---2-0---
    3
    |
"""
for i in range(n):
  x,y=map(int,input().split())
  if sy==y:
    if sx<x:b[0]+=1
    else:b[2]+=1
  elif sx==x:
    if sy<y:b[1]+=1
    else:b[3]+=1
  elif sx<x:
    b[0]+=1
    if sy<y:b[1]+=1
    else:b[3]+=1
  elif sx>x:
    b[2]+=1
    if sy<y:b[1]+=1
    else:b[3]+=1
a=max(b)
print(a)
i=b.index(a)
if i==0:print(sx+1,sy)
elif i==1:print(sx,sy+1)
elif i==2:print(sx-1,sy)
else:print(sx,sy-1)

import sys
reader = (s.rstrip() for s in sys.stdin)
input = reader.__next__

n,sx,sy = list(map(int, input().split()))
s = [0,0,0,0]
for i in range(n):
    x,y = list(map(int, input().split()))
    if x<sx:
        s[0] += 1
    elif sx<x:
        s[1] += 1
    if y<sy:
        s[2] += 1
    elif sy<y:
        s[3] += 1
s = [(s[i], i)for i in range(4)]
s.sort(key=lambda x: -x[0])
dxdy = [(-1,0),(1,0),(0,-1),(0,1)]
for i in range(4):
    ans, j = s[i]
    px,py = sx+dxdy[j][0], sy+dxdy[j][1]
    if 0<=px<=10**9 and 0<=py<=10**9:
        print(ans)
        print(px,py)
        return


import sys
input = sys.stdin.readline


n, sx, sy = map(int, input().split())
info = [list(map(int, input().split())) for i in range(n)]

for i in range(n):
    info[i][0] -= sx
    info[i][1] -= sy


cnt_1 = 0
cnt_2 = 0
cnt_3 = 0
cnt_4 = 0

for i in range(n):
    if info[i][0] >= 1:
        cnt_1 += 1
    if info[i][1] <= -1:
        cnt_2 += 1
    if info[i][0] <= -1:
        cnt_3 += 1
    if info[i][1] >= 1:
        cnt_4 += 1

max_ = max(cnt_1, cnt_2, cnt_3, cnt_4)
if max_ == cnt_1:
    print(cnt_1)
    print(sx+1, sy)
    return
if max_ == cnt_2:
    print(cnt_2)
    print(sx, sy-1)
    return
if max_ == cnt_3:
    print(cnt_3)
    print(sx-1, sy)
    return
if max_ == cnt_4:
    print(cnt_4)
    print(sx, sy+1)
    return

import sys
input=sys.stdin.readline
n,sx,sy=map(int,input().split())
L=[0,0,0,0]
for i in ' '*n:
    a,b=map(int,input().split())
    if a-sx>0:L[0]+=1
    if a-sx<0:L[1]+=1
    if b-sy>0:L[2]+=1
    if b-sy<0:L[3]+=1
m=0
mval=0
for i in range(4):
    if L[i]>mval:
        m=i
        mval=L[i]
print(mval)
dir=[[1,0],[-1,0],[0,1],[0,-1]]
print(sx+dir[m][0],sy+dir[m][1])

import math

def main():
    (n, xs, ys) = tuple([int(x) for x in input().split()])

    p1 = 0
    p2 = 0
    p3 = 0
    p4 = 0
    for i in range(n):
        (x, y) = tuple([int(x) for x in input().split()])

        if x < xs:
            p1 += 1
        if x > xs:
            p2 += 1
        if y < ys:
            p3 += 1
        if y > ys:
            p4 += 1

    p = max(p1, p2, p3, p4)
    print(p)
    best = []
    if p1 == p:
        best = [xs - 1, ys]
    elif p2 == p:
        best = [xs + 1, ys]
    elif p3 == p:
        best = [xs, ys - 1]
    else:
        best = [xs, ys + 1]
    print(' '.join([str(x) for x in best]))

def __starting_point():
    main()

__starting_point()

import sys
# # t=int(input())
# t=1
# for i in range(t):
n,sx,sy=list(map(int,sys.stdin.readline().strip().split()))
    # a,b=sys.stdin.readline().strip().split()
a,b,c,d=0,0,0,0
for i in range(n):
    x,y=list(map(int,sys.stdin.readline().strip().split()))
    if(x<sx):
        a+=1
    if(x>sx):
        b+=1
    if(y>sy):
        c+=1
    if(y<sy):
        d+=1
z=max(a,b,c,d)
print(z)
if(a==z):
    print(sx-1,sy)
elif(b==z):
    print(sx+1,sy)
elif(c==z):
    print(sx,sy+1)
else:
    print(sx,sy-1)

n, sx, sy = input().split()
n, sx, sy = int(n), int(sx), int(sy)

cl, cr, cu, cd = 0, 0, 0, 0

for i in range(n):
    xi, yi = input().split()
    xi, yi = int(xi), int(yi)

    if xi < sx:
        cl += 1
    if xi > sx:
        cr += 1
    if yi < sy:
        cd += 1
    if yi > sy:
        cu += 1

mx = max([cl, cr, cu, cd])
print(mx)
if mx == cl:
    print(str(sx - 1) + " " + str(sy))
elif mx == cr:
    print(str(sx + 1) + " " + str(sy))
elif mx == cd:
    print(str(sx) + " " + str(sy - 1))
elif mx == cu:
    print(str(sx) + " " + str(sy + 1))