#include <bits/stdc++.h>
using namespace std;
ofstream fout("test.out");
ifstream fin("test.in");
const long long MX = 2e5 + 100, INF = 1e18, mod = 1e9 + 7;
long long n, m, arr[MX], cnt, flg, ans, del = 12641, c[5000][5000];
string s;
vector<long long> v;
vector<pair<long long, long long> > vec[MX];
bool mark[MX];
long long pn(long long a, long long b) {
  if (b == 0) return 1;
  long long nsf = pn(a, b / 2);
  nsf %= del;
  nsf *= nsf;
  nsf %= del;
  if (b & 1) nsf *= a;
  return nsf % del;
}
bool palcheck(long long a) {
  for (long long i = 2; i <= sqrt(a); i++) {
    if (a % i == 0) return false;
  }
  return true;
}
int32_t main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> s;
  long long a = 0, b = 0;
  for (long long i = 0; i < s.length(); i++) {
    if (s[i] - 'a' >= 0) {
      a++;
    } else
      b++;
  }
  for (long long i = 0; i < s.length(); i++) {
    if (a >= b) {
      if (s[i] < 97) {
        s[i] += 32;
      }
    } else {
      if (s[i] >= 97) s[i] -= 32;
    }
  }
  cout << s << endl;
  return 0;
}
