t = str(input())
s = t.replace('a','')
s_ = s[int(len(s)/2):]
s = s[:int(len(s)/2)]
if(s==s_):
s = t[0:len(t)-len(s_)]
if t == s+s_:
print(s)
else:
print(":(")
else:
print(":(")
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int num=0,fl=0,fls=0;
bool flag = 1;
string str;
cin >> str;
for (int i = 0; i < str.size(); i++)
{
if (str[i] == 'a')
{
num++;
fl = i;
}
}
fls = (str.size() + num) / 2;
if (fls < fl)flag == 0;
if (str.size() - num & 1)flag = 0;
int l = 0, r = fls;
//cout << "ll rr" << l << "///" << r << endl;
while (r <str.size())
{
if (str[l] == 'a')
{
l++;
continue;
}
if (str[l] != str[r])
{
flag = 0;
//cout << "l=" << l<<"r="<<r<<"str[l]="<<str[l]<<"str[r]="<<str[r]<<endl;
break;
}
l++;
r++;
}
if (flag)
{
for (int i = 0; i < fls; i++)
cout << str[i];
}
else cout << ":(" << endl;
}
1440A - Buy the String | 1658F - Juju and Binary String |
478A - Initial Bet | 981A - Antipalindrome |
365A - Good Number | 1204B - Mislove Has Lost an Array |
1409D - Decrease the Sum of Digits | 1476E - Pattern Matching |
1107A - Digits Sequence Dividing | 1348A - Phoenix and Balance |
1343B - Balanced Array | 1186A - Vus the Cossack and a Contest |
1494A - ABC String | 1606A - AB Balance |
1658C - Shinju and the Lost Permutation | 1547C - Pair Programming |
550A - Two Substrings | 797B - Odd sum |
1093A - Dice Rolling | 1360B - Honest Coach |
1399C - Boats Competition | 1609C - Complex Market Analysis |
1657E - Star MST | 1143B - Nirvana |
1285A - Mezo Playing Zoma | 919B - Perfect Number |
894A - QAQ | 1551A - Polycarp and Coins |
313A - Ilya and Bank Account | 1469A - Regular Bracket Sequence |