import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return string字符串ArrayList
     */
    public ArrayList<String> restoreIpAddresses (String s) {
        // write code here
        ArrayList<String> ret = new ArrayList<String>();
        
        if (s.length() < 4) {
            return ret;
        }
        for (int i = 1; i < 4; i++) {
            for (int j = i + 1; j < i + 4 && j < s.length(); j++) {
                for (int k = j + 1; k < j + 4 && k < s.length(); k++) {
                    String a1 = s.substring(0, i);
                    String a2 = s.substring(i, j);
                    String a3 = s.substring(j, k);
                    String a4 = s.substring(k, s.length());
                    if (a4.length() <= 3) {
                        int b1 = Integer.parseInt(a1);
                        int b2 = Integer.parseInt(a2);
                        int b3 = Integer.parseInt(a3);
                        int b4 = Integer.parseInt(a4);
                        if ((b1 == 0 && a1.length() != 1) || (b2 == 0 && a2.length() != 1) || (b3 == 0 && a3.length() != 1) || (b4 == 0 && a4.length() != 1)) {
                            break;
                        }
                        if (b1 <= 255 && b2 <= 255 && b3 <= 255 && b4 <= 255) {
                            if ((!(a1.charAt(0) == '0' && b1 != 0)) && (!(a2.charAt(0) == '0' && b2 != 0)) && (!(a3.charAt(0) == '0' && b3 != 0)) && (!(a4.charAt(0) == '0' && b4 != 0))){
                                String tmp = "";
                                tmp += a1 + "." + a2 + "." + a3 + "." + a4;
                                ret.add(tmp);
                            }
                        }
                    }
                }
            }
        }

        return ret;
    }
}