from string import ascii_letters
from collections import Counter
from sys import stdin,stdout
input=stdin.readline
def print(*args, end='\n', sep=' ') -> None:
stdout.write(sep.join(map(str, args)) + end)
mess=input().strip() ;news=input().strip() ;letters={} ; yay=0 ; ohbs=0 ; dic=Counter(mess)
for i in ascii_letters:
letters[i]=0
for i in news:
letters[i]+=1
for i in mess:
if letters[i]>0:
yay+=1
letters[i]-=1
dic[i]-=1
for i in mess:
if i.islower():
if dic[i]>0:
dic[i]-=1
if letters[i.upper()]>0:
ohbs+=1
letters[i.upper()]-=1
else:
if dic[i]>0:
dic[i]-=1
if letters[i.lower()]>0:
ohbs+=1
letters[i.lower()]-=1
print(yay,ohbs)
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
const ll lim = 1000000000 + 7;
char fun(char temp)
{
if (temp >= 'a' && temp <= 'z')
{
return temp - 32;
}
return temp + 32;
}
int main()
{
string s, t;
cin >> s >> t;
int n = s.size(), mn = t.size();
map<char, int> need;
map<char, int> h;
map<int, int> m;
for (int i = 0; i < mn; i++)
{
need[t[i]]++;
}
ll y = 0, w = 0;
for (int i = 0; i < n; i++)
{
if (need[s[i]] >= 1)
{
y++;
need[s[i]]--;
m[i]++;
}
}
for (int i = 0; i < n; i++)
{
if (m[i] == 0)
{
char c = fun(s[i]);
if (need[c] > 0)
{
w++;
need[c]--;
}
}
}
cout << y << " " << w << endl;
return 0;
}
120. Triangle | 102. Binary Tree Level Order Traversal |
96. Unique Binary Search Trees | 75. Sort Colors |
74. Search a 2D Matrix | 71. Simplify Path |
62. Unique Paths | 50. Pow(x, n) |
43. Multiply Strings | 34. Find First and Last Position of Element in Sorted Array |
33. Search in Rotated Sorted Array | 17. Letter Combinations of a Phone Number |
5. Longest Palindromic Substring | 3. Longest Substring Without Repeating Characters |
1312. Minimum Insertion Steps to Make a String Palindrome | 1092. Shortest Common Supersequence |
1044. Longest Duplicate Substring | 1032. Stream of Characters |
987. Vertical Order Traversal of a Binary Tree | 952. Largest Component Size by Common Factor |
212. Word Search II | 174. Dungeon Game |
127. Word Ladder | 123. Best Time to Buy and Sell Stock III |
85. Maximal Rectangle | 84. Largest Rectangle in Histogram |
60. Permutation Sequence | 42. Trapping Rain Water |
32. Longest Valid Parentheses | Cutting a material |