Problem:
Score : 100 points

Problem Statement

You are given a 4-character string S consisting of uppercase English letters.
Determine if S consists of exactly two kinds of characters which both appear twice in S.

Constraints

The length of S is 4.

S consists of uppercase English letters.

Input

Input is given from Standard Input in the following format:

S

Output

If S consists of exactly two kinds of characters which both appear twice in S, print Yes; otherwise, print No.

Sample Input 1

ASSA

Sample Output 1

Yes

S consists of A and S which both appear twice in S.

Sample Input 2

STOP

Sample Output 2

No

Sample Input 3

FFEE

Sample Output 3

Yes

Sample Input 4

FREE

Sample Output 4

No

Solution in PHP7 (7.0.15) (judge verdict: Accepted)

<?php
fscanf(STDIN, '%s', $s);

if (strlen($s) != 4) {
  exit('No'.PHP_EOL);
}

$s1 = '';
$s1_cnt = 0;
$s2 = '';
$s2_cnt = 0;

for ($i = 0; $i < 4; $i++) {
  if ($s1 === '') {
    $s1 = $s[$i];
    $s1_cnt++;
    continue;
  }
  if ($s1 === $s[$i]) {
    $s1_cnt++;
    continue;
  }
  if ($s2 === '') {
    $s2 = $s[$i];
    $s2_cnt++;
    continue;
  }
  if ($s2 === $s[$i]) {
    $s2_cnt++;
    continue;
  }
}

if ($s1_cnt === 2 && $s2_cnt === 2) {
  echo 'Yes'.PHP_EOL;
} else {
  echo 'No'.PHP_EOL;
}