import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

class Ideone {
    private static String getInputtedDigitsLocal(final String mobileNumber) {
        final Pattern pattern = Pattern.compile("^(?:(0\\d{10})|(\\d{10})|(63\\d{10}))\\b");
        final Matcher matcher = pattern.matcher(mobileNumber);
        String extractedMobileNumber = "_";

        if (matcher.find()) {
            if (matcher.group(1) != null) {
                extractedMobileNumber = "Group 1 match for " + mobileNumber;
            }
            if (matcher.group(2) != null) {
                extractedMobileNumber = "Group 2 match for " + mobileNumber;
            }
            if (matcher.group(3) != null) {
                extractedMobileNumber = "Group 3 match for " + mobileNumber;
            }
        } else {
            extractedMobileNumber="NOT SUPPORTED FORMAT";
        }
        return extractedMobileNumber;
    }
    public static void main (String[] args) throws java.lang.Exception {
        System.out.println(getInputtedDigitsLocal("09187654321"));
        System.out.println(getInputtedDigitsLocal("1111111111"));
        System.out.println(getInputtedDigitsLocal("631111111111"));
        System.out.println(getInputtedDigitsLocal("111111111111111111111"));
    }
}