#include <bits/stdc++.h>
using namespace std;
const long long mod = 1000 * 1000 * 1000 + 7;
const double pi = acos(-1.0);
const double eps = 1e-9;
const long long inf = 1e18;
int toint(string s) {
  int sm;
  stringstream ss(s);
  ss >> sm;
  return sm;
}
long long tolint(string s) {
  long long sm;
  stringstream ss(s);
  ss >> sm;
  return sm;
}
long long a, b, c, d, e, f, g, h, l, m, n, p, q, r, t, u, w, x, y, z,
    ara[100005] = {0}, arr[100005] = {0};
vector<long long> v, v2, v3;
string s, s2;
int main() {
  cin.tie(0);
  cout.sync_with_stdio(0);
  cin >> s;
  if (s.size() <= 3) {
    cout << "No";
    return 0;
  }
  map<char, int> mp;
  c = 0;
  a = s.size();
  for (int i = 0; i < (a); i++) {
    if (mp[s[i]] == 0) {
      c++;
      s2 += s[i];
      mp[s[i]]++;
    } else
      mp[s[i]]++;
  }
  if (c < 2 || c > 4) {
    cout << "No";
    return 0;
  } else if (c == 2) {
    if (mp[s2[0]] < 2 || mp[s2[1]] < 2) {
      cout << "No";
      return 0;
    }
  }
  cout << "Yes";
}
