public String verify(String id, String[] regionCodes) {
		for (String region : regionCodes) {
			if (id.startsWith(region)) {
				int digit = 0;
				for (char c : id.toCharArray()) {
					digit *= 2;
					if (c == 'X') {
						digit += 10;
					} else {
						digit += (c - '0');
					}
				}
				if ((digit %= 11) != 1) {
					continue;
				}
				if (!checkBirth(id.substring(6, 6 + 8))) {
					continue;
				}

				int sexual = Integer.valueOf(id.substring(6 + 8, 6 + 8 + 3));
				if (sexual == 0) {
					continue;
				}
				if (sexual % 2 == 0) {
					return "Female";
				} else {
					return "Male";
				}
			}
		}
		return "Invalid";
	}