For the sake of simplicity, let's use the characters in the ranges [0-9], [a-z], and [A-Z] to represent the colors. For example, the 3rd string in Figure 1 is the one that Eva would like to make. Then the 1st string is okay since it contains all the necessary beads with 8 extra ones; yet the 2nd one is not since there is no black bead and one less red bead.

Figure 1

## Input Specification:

Each input file contains one test case. Each case gives in two lines the strings of no more than 1000 beads which belong to the shop owner and Eva, respectively.

## Output Specification:

For each test case, print your answer in one line. If the answer is Yes, then also output the number of extra beads Eva has to buy; or if the answer is No, then also output the number of beads missing from the string. There must be exactly 1 space between the answer and the number.

ppRYYGrrYBR2258
YrR8RrY

Yes 8

ppRYYGrrYB225
YrR8RrY

No 2

## 解答

#include<iostream>
#include<unordered_map>
#include<string>

using namespace std;

int main()
{
string source, dest;
cin >> source >> dest;
unordered_map<char, int> count1;
for (auto it = source.begin(); it != source.end(); it++)
count1[*it]++;
int extra = 0;
for (auto it = dest.begin(); it != dest.end(); it++)
if (count1.count(*it) && count1[*it] > 0) count1[*it]--;
else extra++;
if (extra == 0) printf("Yes %d", source.size() - dest.size());
else printf("No %d", extra);
return 0;
}