#pragma once#include<iostream>#include<cstring>#include<cstdio>usingnamespace std;constint maxSize =22;classVol{
private:char m_has[maxSize];char m_need[maxSize];int m_hasTimes[66]={
0};int m_needTimes[66]={
0};public:Vol(){
}Vol(int i){
gets_s(m_has);gets_s(m_need);getTimes();checkHas();}~Vol(){
}voidgetTimes(){
int len =strlen(m_has);for(int i =0; i < len;++i){
int id =getId(m_has[i]);++m_hasTimes[id];}int len1 =strlen(m_need);for(int i =0; i < len1;++i){
int id =getId(m_need[i]);++m_needTimes[id];}}intgetId(char ch){
int ans =0;if(ch >='0'&&ch <='9') ans = ch -'0';elseif(ch >='A'&&ch <='Z') ans = ch -'A'+10;else ans = ch -'a'+36;return ans;}voidcheckHas(){
int len1 =strlen(m_need);for(int i =0; i < len1;++i){
int id =getId(m_need[i]);if(m_hasTimes[id]>= m_needTimes[id]){
m_needTimes[id]=0;}else{
m_needTimes[id]-= m_hasTimes[id];}}}voidshowAns(){
int stillNeed =0;int len1 =strlen(m_need);int len2 =strlen(m_has);for(int i =0; i < len1;++i){
int id =getId(m_need[i]);if(m_needTimes[id]){
stillNeed += m_needTimes[id];
m_needTimes[id]=0;}}if(stillNeed ==0){
printf_s("Yes %d\n", len2 - len1);}else{
printf_s("No %d\n", stillNeed);}}};voidtestForMl(){
Vol sol(1);
sol.showAns();}