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.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.ArrayList;
import java.util.Arrays;
public class JavaApplication20 {

    public static void main(String[] args) {
        FastReader read = new FastReader();
        int n = read.nextInt();
        int array[] = new int[4];
        int x = read.nextInt();
        int y = read.nextInt();
        for(int i = 0; i<n; i++){
            int x1 = read.nextInt();
            int y1 = read.nextInt();
            if(x1>x){
                array[0]++;
            }
            if(y1>y){
                array[1]++;
            }
            if(x1<x){
                array[2]++;
            }
            if(y1<y){
                array[3]++;
            }
        }
        int max1 = Math.max(array[0], array[1]);
        int max2 = Math.max(max1, array[2]);
        int max = Math.max(max2, array[3]);
        System.out.println(max);
        for(int i = 0; i<4; i++){
            if(max == array[i]){
                if(i == 0){
                    System.out.println(x+1 + " " + y);
                }
                else if(i == 1){
                    int r = y+1;
                    System.out.println(x + " " + r);
                }
                else if(i == 2){
                    System.out.println(x-1 + " " + y);
                }
                else{
                    int r = y-1;
                    System.out.println(x + " " + r);
                }
                return;
            }
        }
//            if(x1<x && y1<y){
//                array[0]++;
//            }
//            else if(x1<x && y1>y){
//                array[1]++;
//            }
//            else if(x1>x && y1<y){
//                array[2]++;
//            }
//            else if(x1>x && y1>y){
//                array[3]++;
//            }
//            else if(x1==x && y1<y){
//                array[4]++;
//            }
//            else if(x1 == x && y1>y){
//                array[5]++;
//            }
//            else if(x1>x && y1 == y){
//                array[6]++;
//            }
//            else if (x1<x && y1 == y){
//                array[7]++;
//            }
//        }
//        int max1 = Math.max(array[3]+array[6],array[3]+array[5]);
//        array[3] = max1;
//        int max2 = Math.max(array[1]+array[5], array[1]+array[7]);
//        array[1] = max2;
//        int max3 = Math.max(array[0]+array[7], array[0]+array[4]);
//        array[0] = max3;
//        int max4 = Math.max(array[2]+array[6], array[2]+array[4]);
//        array[2] = max4;
//        int maxa = Math.max(max1,max2);
//        int maxb = Math.max(maxa, max3);
//        int max = Math.max(maxb, max4);
//        System.out.println(max);
//        for(int i = 0; i<4; i++){
//            if(max == array[i]){
//                if(i == 0){
//                    if(array[7]>array[4]){
//                        System.out.print(x-1 + " " + y);
//                    }
//                    else{
//                        int r = y-1;
//                        System.out.print(x + " " + r);
//                    }
//                }
//                else if (i == 1){
//                    if(array[5]>array[7]){
//                        int r = y+1;
//                        System.out.print(x + " " + r);
//                    }
//                    else{
//                        System.out.print(x-1 + " " + y);
//                    }
//                }
//                else if(i == 2){
//                    if(array[6]>array[4]){
//                        System.out.print(x+1 + " "+ y);
//                    }
//                    else{
//                        int r = y-1;
//                        System.out.print(x+ " "+ r);
//                    }
//                }
//                else{
//                    if(array[6]>array[5]){
//                        System.out.print(x+1 + " "+ y);
//                    }
//                    else{
//                        int r = y+1;
//                        System.out.print(x + " " + r);
//                    }
//                }
//                
//            }
//        }
        
    }
    static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    }
}
