#include <bits/stdc++.h>
using namespace std;
int s[26][2];
int t[26][2];
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  string ss, st;
  cin >> ss >> st;
  int n = ss.size();
  int m = st.size();
  for (int i = 0; i < (n); i++) {
    if (ss[i] < 'a')
      s[ss[i] - 'A'][1]++;
    else
      s[ss[i] - 'a'][0]++;
  }
  for (int i = 0; i < (m); i++) {
    if (st[i] < 'a')
      t[st[i] - 'A'][1]++;
    else
      t[st[i] - 'a'][0]++;
  }
  int g = 0, b = 0;
  for (int i = 0; i < (26); i++) {
    if (s[i][0] <= t[i][0] && s[i][1] <= t[i][1]) {
      g += s[i][0] + s[i][1];
    } else if (s[i][0] <= t[i][0] && s[i][1] > t[i][1]) {
      g += s[i][0] + t[i][1];
      b += min(s[i][1] - t[i][1], t[i][0] - s[i][0]);
    } else if (s[i][0] > t[i][0] && s[i][1] <= t[i][1]) {
      g += s[i][1] + t[i][0];
      b += min(t[i][1] - s[i][1], s[i][0] - t[i][0]);
    } else if (s[i][0] > t[i][0] && s[i][1] > t[i][1]) {
      g += t[i][0] + t[i][1];
    }
  }
  cout << g << " " << b << endl;
}
