#include <bits/stdc++.h>
using namespace std;
char s[200006], t[200006];
int flag[250] = {0};
int main() {
  int i, l, f, e;
  f = e = 0;
  cin >> s;
  cin >> t;
  l = strlen(t);
  for (i = 0; i < l; i++) {
    flag[t[i]]++;
  }
  l = strlen(s);
  for (i = 0; i < l; i++) {
    if (flag[s[i]]) {
      f++;
      flag[s[i]]--;
      s[i] = '0';
    }
  }
  e = 0;
  for (i = 0; i < l; i++) {
    if (s[i] != '0') {
      if (s[i] - 0 > 95) {
        if (flag[s[i] - 32]) e++, flag[s[i] - 32]--;
      } else if (flag[s[i] + 32])
        e++, flag[s[i] + 32]--;
    }
  }
  cout << f << " " << e << endl;
  return 0;
}
