import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {

    public static boolean isRight(int n, char c) {  //判断校验码的有效性
        char[] m = {'1','0','X','9','8','7','6','5','4','3','2'};   // 校验码
        if(m[n] == c) {
            return true;
        }
        return false;
    }
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.valueOf(br.readLine());
        int[] arr = {7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};  // 权重数组
        char[] m = {'1','0','X','9','8','7','6','5','4','3','2'};   // 校验码
        int count = 0 ; // 记录有效身份证号码的个数
        for(int i = 0 ; i < n ; i++) {
            int sum = 0;    // 记录权重和
            int mod = 0;    // 记录对11取模之后的数字
            boolean flag = true;   // 记录身份证的有效性
            String str = br.readLine();
            String sFront = str.substring(0,str.length()-1);    // 截取前17位
            char sLast = str.substring(str.length()-1,str.length()).charAt(0);    // 截取最后一位
            for(int j = 0 ; j < sFront.length() ; j++) {    // 计算权重和并判断是否为数字
                int num = (int)sFront.charAt(j);    // 转换为ASCII码表表示的十进制,0~9为48~57
                if(num <48 || num > 57) {   // 判断前17位是否全为数字
                    flag = false;
                    break;
                }
                int number = sFront.charAt(j) - '0';
                sum += number * arr[j];
            }
            if(flag) {
                mod = sum % 11;
                if(isRight(mod,sLast)) {
                    count ++;
                } else {
                    System.out.println(str);
                }
            } else {
                System.out.println(str);
            }
        }
        if(count == n) {
            System.out.println("All passed");
        }
    }
}