private boolean search(char[] digits, char[] target, int pos) {
      for (int x = pos; x < digits.length; x++) {
        if (digits[x] == '?') {
          if (target[x] == '9') {
            return search(digits, target, pos + 1);
          } else {
            return true;
          }
        } else if (digits[x] > target[x]) {
          return true;
        } else if (target[x] > digits[x]) {
          return false;
        } 
      }
      return false;
    }