//本地自测用例通过,但是超时了,待优化
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String []args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();

        int n = Integer.parseInt(str);
        long[] a = new long[n];
        long[] b = new long[n];
        long[] c = new long[n];
        for (int i =0;i<n;i++){
            a[i] = Long.parseLong(br.readLine());
            b[i] = fn(a[i]);
        }
        for (int i=0;i<n;i++){
            long j=0;
            while(j<=i) {
                if (fn(j) == b[i]) {
                    c[i] = j;
                    break;
                }
                j++;
            }
        }
        for (int i=0;i<n;i++){
            System.out.println(b[i]+" "+c[i]);
        }

        }
        public static long fn(long n){
            if (n==0){
                return 0;
            }
            else if (n==1){
                return 1;
            }
            else{
                return fn(n/2)+fn(n%2);
            }
        }
    }