#include <bits/stdc++.h>
long long mod(long long x) {
  if (x < 0) return -x;
  return x;
}
long long expo(long long x, long long y) {
  long long res = 1;
  while (y > 0) {
    if (y % 2 == 1) res = (res * x);
    y = y >> 1;
    x = x * x;
  }
  return res;
}
using namespace std;
const int MAXN = 500005;
vector<long long> v;
long long a[1000000], b[1000000];
int main() {
  ios_base::sync_with_stdio(false);
  long long n, t, m, k, x, y;
  string s, c = "";
  cin >> s;
  x = -1;
  for (long long i = 0; i < s.length(); i++) {
    if (s[i] != 'a')
      c += s[i];
    else {
      x = i;
    }
  }
  n = c.length();
  y = x;
  if (x + 1 > s.length() - n / 2) {
    cout << ":(";
    return 0;
  }
  if (n % 2 != 0) {
    cout << ":(";
    return 0;
  }
  for (long long i = 0; i < n / 2; i++) {
    if (c[i] != c[n / 2 + i]) {
      cout << ":(";
      return 0;
    }
  }
  x = n / 2;
  for (long long i = 0; i < s.length(); i++) {
    cout << s[i];
    if (s[i] != 'a') {
      x--;
    }
    if (i >= y && x <= 0) break;
  }
  return 0;
}
