1 1000000000 7
1000000000 9
 3 2 2
2 4
2 1
3 6
 2 1000000000 100000
1000000000 1000000
1000000000 10000
 1 100 100
50 70
 1 100 100
101 100

1
1000000000 8 2
2 3 1
1000000000 100001 1
99 100 1
101 100
import java.io.*;
import java.util.*;
import java.math.*;
import java.lang.*;
 
import static java.lang.Math.*;
 
public class Solution implements Runnable 
{
	public static void main(String args[]) throws Exception{new Thread(null, new Solution(),"Main",1<<27).start();}
	
	public void run()
    {
        InputReader in = new InputReader(System.in);
        PrintWriter w = new PrintWriter(System.out);
		
		int n=in.nextInt();
		int sx=in.nextInt();
	    int sy=in.nextInt();
	    int no=0;
	    int so=0;
	    int we=0;
	    int es=0;
	    int x=0;
	    int y=0;
	    for(int i=0;i<n;i++){
	        x=in.nextInt();
	        y=in.nextInt();
	        if(y>sy)
	            no++;
	        if(y<sy)
	            so++;
	        if(x>sx)
	            es++;
	        if(x<sx)
	            we++;
	    }
	    if(no>=so && no>=we && no>=es){
	        w.println(no);
	        w.println(sx+" "+(sy+1));
	    }
	    else if(so>=no && so>=es && so>=we){
	        w.println(so);
	        w.println(sx+" "+(sy-1));
	    }
	    else if(es>=no && es>=so && es>=we){
	        w.println(es);
	        w.println((sx+1)+" "+(sy));
	    }
	    else{
	        w.println(we);
	        w.println((sx-1)+" "+(sy));
	    }
		
		w.flush();
        w.close();
    }
    
    
	static class InputReader 
	{
		private InputStream stream;private byte[] buf = new byte[1024];
		private int curChar;
		private int numChars;
		private SpaceCharFilter filter;
		private BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        public InputReader(InputStream stream){this.stream = stream;}
		public int read(){if (numChars==-1) throw new InputMismatchException();if (curChar >= numChars){curChar = 0;try{numChars = stream.read(buf);}catch (IOException e){throw new InputMismatchException();	}if(numChars <= 0)return -1;}return buf[curChar++];}
     	public String nextLine(){String str = "";try{str = br.readLine();}catch (IOException e){e.printStackTrace();}return str;}
		public int nextInt(){int c = read();	while(isSpaceChar(c))c = read();	int sgn = 1; if (c == '-'){sgn = -1;c = read();	}int res = 0;do{if(c<'0'||c>'9') throw new InputMismatchException();res *= 10;res += c - '0';c = read();}while (!isSpaceChar(c));return res * sgn;}
        public long nextLong(){int c = read();while (isSpaceChar(c))c = read();int sgn = 1;if (c == '-'){sgn = -1;c = read();}long res = 0;do{if (c < '0' || c > '9')throw new InputMismatchException();res *= 10;res += c - '0';c = read();}while (!isSpaceChar(c));return res * sgn;}
		public double nextDouble(){int c = read();while (isSpaceChar(c))c = read();int sgn = 1;if (c == '-'){sgn = -1;c = read();}double res = 0;while (!isSpaceChar(c) && c != '.'){if (c == 'e' || c == 'E')return res * Math.pow(10, nextInt());if (c < '0' || c > '9')
		throw new InputMismatchException();res *= 10;res += c - '0';c = read();}if (c == '.'){c = read();double m = 1;while (!isSpaceChar(c)){if (c == 'e' || c == 'E')return res * Math.pow(10, nextInt());if (c < '0' || c > '9')throw new InputMismatchException();m /= 10;res += (c - '0') * m;c = read();}}return res * sgn;}
        public String readString(){int c = read();while (isSpaceChar(c))c = read();StringBuilder res = new StringBuilder();do{res.appendCodePoint(c);c = read();}while (!isSpaceChar(c));return res.toString();}
		public boolean isSpaceChar(int c){if (filter != null)return filter.isSpaceChar(c);return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;}
		public String next(){return readString();}
        public interface SpaceCharFilter{public boolean isSpaceChar(int ch);}
	}
		
	
	public static long gcd(long a, long b) { 	if (a == 0) return b; return gcd(b % a, a);} 
  
	public static long findGCD(long arr[], int n) { 	long result = arr[0]; for (int i = 1; i < n; i++) result = gcd(arr[i], result);return result; }	 
	
	static void sortbycolomn(long arr[][], int col)
    { 
        Arrays.sort(arr, new Comparator<long[]>() { 
        @Override              
        public int compare(final long[] entry1,final long[] entry2) { 
            if (entry1[col] > entry2[col])return 1; 
            else return -1; 
        } 
        });   
    } 
}