public static int helper(char[] origin, int idx) {
        if(idx == origin.length) {
            String newStr = new String(origin);
            try {
                int id = decode(newStr);
                return id;
            } catch (Exception e) {
                return -1;
            }
        }

        if(origin[idx]-'a' >= 0 && origin[idx] - 'z' <= 0) {
            int id = helper(origin, idx + 1);
            if(id != -1) return id;
            origin[idx] = Character.toUpperCase(origin[idx]);
            id = helper(origin, idx+1);
            origin[idx] = Character.toLowerCase(origin[idx]);
            return id;
        } else
            return helper(origin, idx+1);
    }