#include <set>
#include <string>
#include <unordered_map>
class Result {
  public:
    vector<int> calcResult(string A, string guess) {
        // write code here
        int right = 0;

        unordered_map<char, int> tmp;
        string remain;
        for (int i = 0; i < A.length(); ++i) {
            if (A[i] == guess[i] ) {
                right++;
            } else {
                tmp[A[i]]++;
                remain += guess[i];
            }
        }
        int fake = 0;
        for (auto& c : remain) {
            if (tmp.count(c) && tmp[c] > 0) {
                ++fake;
                tmp[c]--;
            }
        }
        return {right, fake};
    }
};