import sys

input = sys.stdin.readline



N = int(eval(input()))



p=N/1.08

if(p%1==0):

	print((int(p)))

else:

	if(int((int(p)+1)*1.08)!=N):

		print(":(")

	else:

		print((int(p)+1))
import sys



sys.setrecursionlimit(10 ** 6)

int1 = lambda x: int(x) - 1

printV = lambda x: print(*x, sep="\n")

printH = lambda x: print(" ".join(map(str,x)))

def IS(): return sys.stdin.readline()[:-1]

def II(): return int(sys.stdin.readline())

def MI(): return map(int, sys.stdin.readline().split())

def LI(): return list(map(int, sys.stdin.readline().split()))

def LI1(): return list(map(int1, sys.stdin.readline().split()))

def LII(rows_number): return [II() for _ in range(rows_number)]

def LLI(rows_number): return [LI() for _ in range(rows_number)]

def LLI1(rows_number): return [LI1() for _ in range(rows_number)]



def main():

	n = II()

	ch = False

	for i in range(n+1):

		if(n==int(i * 1.08)):

			print(i)

			ch = True

			break

	if ch==False:

		print(":(")





if __name__ == '__main__':

	main()

import sys

input = sys.stdin.readline
N = int(eval(input()))
p = N / 1.08
if p % 1 == 0:
    print((int(p)))
else:
    if int((int(p) + 1) * 1.08) != N:
        print(":(")
    else:
        print((int(p) + 1))

import sys

sys.setrecursionlimit(10**6)
int1 = lambda x: int(x) - 1
printV = lambda x: print(*x, sep="\n")
printH = lambda x: print(" ".join(map(str, x)))


def IS():
    return sys.stdin.readline()[:-1]


def II():
    return int(sys.stdin.readline())


def MI():
    return map(int, sys.stdin.readline().split())


def LI():
    return list(map(int, sys.stdin.readline().split()))


def LI1():
    return list(map(int1, sys.stdin.readline().split()))


def LII(rows_number):
    return [II() for _ in range(rows_number)]


def LLI(rows_number):
    return [LI() for _ in range(rows_number)]


def LLI1(rows_number):
    return [LI1() for _ in range(rows_number)]


def main():
    n = II()
    ch = False
    for i in range(n + 1):
        if n == int(i * 1.08):
            print(i)
            ch = True
            break
    if ch == False:
        print(":(")


if __name__ == "__main__":
    main()

-input = sys.stdin.readline -N = int(eval(input())) -p = N / 1.08 -if p % 1 == 0: -    print((int(p))) -else: -    if int((int(p) + 1) * 1.08) != N: +sys.setrecursionlimit(10**6) +int1 = lambda x: int(x) - 1 +printV = lambda x: print(*x, sep="\n") +printH = lambda x: print(" ".join(map(str, x))) + + +def IS(): +    return sys.stdin.readline()[:-1] + + +def II(): +    return int(sys.stdin.readline()) + + +def MI(): +    return map(int, sys.stdin.readline().split()) + + +def LI(): +    return list(map(int, sys.stdin.readline().split())) + + +def LI1(): +    return list(map(int1, sys.stdin.readline().split())) + + +def LII(rows_number): +    return [II() for _ in range(rows_number)] + + +def LLI(rows_number): +    return [LI() for _ in range(rows_number)] + + +def LLI1(rows_number): +    return [LI1() for _ in range(rows_number)] + + +def main(): +    n = II() +    ch = False +    for i in range(n + 1): +        if n == int(i * 1.08): +            print(i) +            ch = True +            break +    if ch == False: -    else: -        print((int(p) + 1)) + + +if __name__ == "__main__": +    main()