import java.util.regex.Pattern;

public class Main {

    private static void testar(boolean resultado, String teste) {
        System.out.println(Validador.validarCaminho(teste) == resultado ? "Ok" : "ERRO");
    }

    public static void main(String[] args) {
        testar(true, "C:/home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt");
        testar(true, "C:/home/Paulo Neto/Net Beans Projects/Expre/src/expre/texto.txt");
        testar(true, "/home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt");
        testar(true, "/home/Paulo Neto/Net Beans Projects/Expre/src/expre/texto.txt");
        testar(true, "home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt");
        testar(true, "home/Paulo Neto/Net Beans Projects/Expre/src/expre/texto.txt");
        testar(true, "home/PauloNeto/NetBeansProjects/Expre/src/expre/texto");
        testar(true, "home/Paulo Neto/Net Beans Projects/Expre/src/expre/texto");
        testar(true, "home");
        testar(true, "/home");
        testar(true, "C:/home");
        testar(true, "home.txt");
        testar(true, "/home.txt");
        testar(true, "C:/home.txt");
        testar(true, "C:");
        testar(true, "C:/");
        testar(false, "a:");
        testar(false, "a:/");
        testar(false, " home");
        testar(false, "home ");
        testar(false, "home/");
        testar(false, "home.");
        testar(false, ".txt");
        testar(false, "C:home");
        testar(false, "C:home/texto");
        testar(false, "home//texto.txt");
        testar(false, "ho  me/PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt");
        testar(false, "home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.");
        testar(false, "home/PauloNeto/NetBeans#Projects/Expre/src/expre/texto.txt");
        testar(false, "home/PauloNeto/NetBeans  Projects/Expre/src/expre/texto.txt");
        testar(false, "home/PauloNeto/NetBeansProjects/Expre/src/expre/texto..txt");
        testar(false, "home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.x.txt");
        testar(false, "home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.");
        testar(false, "home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt.");
        testar(false, " E:/home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt");
        testar(false, "E :/home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt");
        testar(false, "E: /home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt");
        testar(false, "E:/ home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt");
        testar(false, "E:/home /PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt");
        testar(false, "home /PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt");
        testar(false, " home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt");
        testar(false, "home/ PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt");
        testar(false, "home/PauloNeto /NetBeansProjects/Expre/src/expre/texto.txt");
        testar(false, "home/PauloNeto/NetBeansProjects/Expre/src/expre/texto. txt");
        testar(false, "home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.txt ");
        testar(false, "home/PauloNeto/NetBeansProjects/Expre/src/expre/texto.t xt");
        testar(false, "E: ");
        testar(false, "E :");
        testar(false, " E:");
        testar(false, "E:/ ");
        testar(false, "E: /");
        testar(false, "E :/");
        testar(false, " E:/");
        testar(false, "");
        testar(false, " ");
        testar(false, "/");
        testar(false, ".");
        testar(false, ":");
    }
}

class Validador {

    private static final Pattern p1 = Pattern.compile("^[A-Z0-9a-z]*$");

    private static final Pattern p2 =
            Pattern.compile("^(?:(?:[A-Z]\\:)?\\/)?(?:[a-zA-Z0-9]+(?: [a-zA-Z0-9]+)*)(?:\\/(?:[a-zA-Z0-9]+(?: [a-zA-Z0-9]+)*))*(?:\\.[a-zA-Z0-9]+)?|[A-Z]\\:\\/?$");

    public static boolean validarPalavra(String palavra) {
        return p1.matcher(palavra).matches();
    }

    public static boolean validarCaminho(String caminho) {
        return p2.matcher(caminho).matches();
    }
}