Problem:
 Score: 200 points    Problem Statement  Takahashi bought a piece of apple pie at ABC Confiserie. According to his memory, he paid N yen (the currency of Japan) for it.  The consumption tax rate for foods in this shop is 8 percent. That is, to buy an apple pie priced at X yen before tax, you have to pay X \times 1.08 yen (rounded down to the nearest integer).  Takahashi forgot the price of his apple pie before tax, X , and wants to know it again. Write a program that takes N as input and finds X . We assume X is an integer.  If there are multiple possible values for X , find any one of them. Also, Takahashi's memory of N , the amount he paid, may be incorrect. If no value could be X , report that fact.      Constraints   1 \leq N \leq 50000  N is an integer.         Input  Input is given from Standard Input in the following format:  N       Output  If there are values that could be X , the price of the apple pie before tax, print any one of them. If there are multiple such values, printing any one of them will be accepted. If no value could be X , print :( .        Sample Input 1 432      Sample Output 1 400  If the apple pie is priced at 400 yen before tax, you have to pay 400 \times 1.08 = 432 yen to buy one. Otherwise, the amount you have to pay will not be 432 yen.       Sample Input 2 1079      Sample Output 2 :(  There is no possible price before tax for which you have to pay 1079 yen with tax.       Sample Input 3 1001      Sample Output 3 927  If the apple pie is priced 927 yen before tax, by rounding down 927 \times 1.08 = 1001.16 , you have to pay 1001 yen.

Solution (Python):
def solve(n):
    for i in range(n + 1):
        if int(i * 1.08) == n:
            return i
    return ":("


def main():
    n = int(input())
    res = solve(n)
    print(res)


def test():
    assert solve(432) == 400
    assert solve(1079) == ":("
    assert solve(1001) == 927


if __name__ == "__main__":
    test()
    main()

Solution (Python):
import math
N = int(input())
tmp = math.ceil(N/1.08)
if math.floor(tmp*1.08) == N:
    print(int(tmp))
else:
    print(":(")

Solution (Python):


import os
import sys


def main():
    N = read_int()
    ans = solve(N)
    if ans is None:
        print(':(')
    else:
        print(ans)


def solve(N):
    M = N * 100 // 108
    for d in range(20):
        if (M + d) * 108 // 100 == N:
            return M + d
        if (M - d) * 108 // 100 == N:
            return M - d
    return None




DEBUG = 'DEBUG' in os.environ


def inp():
    return sys.stdin.readline().rstrip()


def read_int():
    return int(inp())


def read_ints():
    return [int(e) for e in inp().split()]


def dprint(*value, sep=' ', end='\n'):
    if DEBUG:
        print(*value, sep=sep, end=end)


if __name__ == '__main__':
    main()

Solution (Python):
def main():
    n=int(input())
    for i in range(50000):
        if int(i*1.08)==n:
            print(i)
            return 0
    else:
        print(":(")
main()

Solution (Python):
import math
N = int(input())
X = math.ceil(N / 1.08)
if int(X * 1.08) != N:
    print(':(')
else:
    print(X)

Solution (Python):
N=int(input())
for i in range(50000):
    if int(i*1.08)==N:
        print(i)
        break
else:
    print(':(')

Solution (Python):
import math


N = int(input())
for i in range(50000):
    x = math.floor(i * 1.08)
    if x == N:
        print(i)
        exit()
print(':(')

Solution (Python):
N = int(input())

for i in range(1, N + 1):
    if (i * 1.08) // 1 == N:
        print(i)
        exit()
print(":(")

Solution (Python):
def read_values():
    return map(int, input().split())


def read_list():
    return list(read_values())


def main():
    N = int(input())
    X = int((N - 1) / 1.08)

    while True:
        if N == int(X * 1.08):
            print(X)
            return
        elif N < int(X * 1.08):
            print(":(")
            return
        X += 1


if __name__ == '__main__':
    main()

Solution (Python):
N = int(input())

for i in range(1, 50001):
    if int(i * 1.08) == N:
        print(i)
        exit()

print(":(")

Solution (Python):
import sys
import math
sys.setrecursionlimit(10**6)
def MAP(): return [int(s) for s in input().split()]

if sys.platform =='ios':
	sys.stdin=open('Untitled.txt')
input = sys.stdin.readline

N = int(input())

price = math.ceil(N/1.08)

print(price if math.floor(price * 1.08) == N else ':(')

Solution (Python):
a = int(input())

b = int(a / 1.08)

if int(b * 1.08) == a:
    print(b)
elif int((b+1) * 1.08) == a:
    print(b+1)
else:
    print(":(")

Solution (Python):
def main():
    N = int(input())
    for i in range(1, 50000):
        if int(i * 1.08) == N:
            print(i)
            return
    print(":(")


if __name__ == "__main__":
    main()

Solution (Python):
N = int(input())

for ans in range(1, 50001):
    if (ans * 108) // 100 == N: break
else:
    ans = ':('

print(ans)

Solution (Python):
N = int(input())

x = int(N/1.08)

if int(x * 1.08) == N:
  print(x)
elif int((x+1) * 1.08) == N:
  print(x+1)
else:
  print(":(")

Solution (Python):

import sys, math, itertools, heapq, collections, bisect, string, copy
input = lambda: sys.stdin.buffer.readline().rstrip().decode('utf-8')
sys.setrecursionlimit(10**8)
inf = float('inf')
mod = 10**9+7
ans = count = 0; pro = 1

n=int(input())
a=math.ceil(n/1.08)
if int(a*1.08)==n:
    print(a)
else:
    print(":(")

Solution (Python):
N = int(input())
for i in range(N+1):
    if i * 108 // 100 == N:
        print(i)
        break
else:
    print(":(")

Solution (Python):
N=int(input())

for i in range(1,50000+1):
  if int(i*1.08)==N:
    print(i)
    exit()
print(":(")

Solution (Python):



import sys

def rl(proc=None):
    if proc is not None:
        return proc(sys.stdin.readline())
    else:
        return sys.stdin.readline().rstrip()

def srl(proc=None):
    if proc is not None:
        return list(map(proc, rl().split()))
    else:
        return rl().split()

def main():
    N = rl(int)
    for i in range(1, 50000):
        if i*108//100 == N:
            print(i)
            return
    print(":(")

if __name__ == '__main__':
    main()

Solution (Python):
n = int(input())
for i in range(n+1):
  if int(i*1.08) == n:
    print(i)
    exit(0)
print(':(')

Solution (Python):
import sys
import numpy as np
sys.setrecursionlimit(10 ** 9)

stdin = sys.stdin
 
ri = lambda: int(rs())
rl = lambda: list(map(int, stdin.readline().split()))
rs = lambda: stdin.readline().rstrip()  

N = ri()
x = N // 1.08
bool = True
if int(x * 1.08) != N or x < 1:
    x += 1
    if int(x * 1.08) != N:
        bool = False
print(int(x) if bool else ':(')

Solution (Python):
n = input()
m = int(n / 1.08)
for i in xrange(m, m + 10):
    if int(i * 1.08) == n:
        print i
        break
else:
    print ':('

Solution (Python):
n = float(input())
r = 1.08
x = int(n/r)
if int(x*r) == n:
    print(x)
elif int((x+1)*r) == n:
    print(x+1)
elif int((x-1)*r) == n:
    print(x-1)
else:
    print(":(")

Solution (Python):
n = int(input())
for i in range(1,n+1):
  ans = int(i * 1.08)
  if ans == n:
    print(i)
    exit()
print(":(")

Solution (Python):
n = int(raw_input())

i = 1

while i <= n:
    j = int(i * 1.08)
    if j == n:
        print i
        exit()
    i += 1

print ":("

Solution (Python):
N = int(input())
x1 = int(N/(1.08))
x2 = x1+1
x3 = x1-1
if int(x1*1.08) == N:
    print(x1)
elif int(x2*1.08) == N:
    print(x2)
elif int(x3*1.08) == N:
    print(x3)
else:
    print(':(')

Solution (Python):

n = int(input())
for x in range(1, 50001):
    if int(x * 1.08) == n:
        print(x)
        exit()
else:
    print(':(')

Solution (Python):


import math
import sys
import itertools
import numpy as np

n =int(input())

for i in range(50000):
    if (i*108//100) == n:
        print(i)
        exit()
else:
    print(":(")

Solution (Python):
N = int(input())
x = int(N/1.08)
for i in range(x, x+3):
  if int(i*1.08)==N:
    print(i)
    break
else:
  print(':(')

Solution (Python):
import sys


def solve():
    readline = sys.stdin.buffer.readline
    mod = 10 ** 9 + 7
    n = int(readline())
    for i in range(1, 50001):
        if int(i * 1.08) == n:
            print(i)
            exit()
    print(":(")


if __name__ == '__main__':
    solve()

Solution (Python):
import sys
n=int(input())
for i in range(50000):
  if int(i*1.08)==n:
    print(i)
    sys.exit()
print(':(')

Solution (Python):
import math
n = int(input())
candidate = n / 1.08
x = math.floor(candidate)
flg = False
for i in range(x - 1, x + 2):
    if math.floor(i * 1.08) == n:
        flg = True
        break
if flg:
    print(i)
else:
    print(":(")

Solution (Python):



def find_value(n):
    for x in range(1, n + 1):
        if int(x * 1.08) == n:
            return x
    else:
        return


def main():
    n = int(input())
    x = find_value(n)
    if x is None:
        print(":(")
    else:
        print(x)


if __name__ == "__main__":
    main()

Solution (Python):
N=int(input())
a=N*100//108
out=':('
for i in range(a-3, a+3, 1):
  temp=(i*1.08)//1
  if temp==N:
    out=i

print(out)

Solution (Python):
n = int(input())

n1 = n / 1.08
n2 = (n + 1) / 1.08

import math
cand = math.ceil(n1)
if cand < n2:
    print(cand)
else:
    print(':(')

Solution (Python):
n = int(input())

for x in range(1, n+1):
    x_ = int(x * 1.08)
    if x_ == n:
        print(x)
        exit()

print(":(")

Solution (Python):
n = int(input())

for x in range(1, 50000):
  xn = (x * 1.08) // 1
  if xn == n:
    print(x)
    exit()
print(':(')

Solution (Python):
n = int(input())
for i in range(50000):
    if int(i*1.08)==n:
        print(i)
        exit()
print(':(')

Solution (Python):
import math

def makelist(n, m):
    return [[0 for _ in range(m)] for _ in range(n)]






no = ":("
N = int(input())

ans = no
for i in range(50000+1):
    if math.floor(i * 1.08) == N:
        ans = i
        break
print(ans)

Solution (Python):
N = int(input())
X = N / 1.08
if int(int(X) * 1.08) == N:
    print(int(X))
elif int((int(X)+1)*1.08) == N:
    print(int(X+1))
else:
    print(":(")

Solution (Python):
N = int(input())
for x in range(50000):
    if int(x * 1.08) == N:
        print(x)
        break
else:
    print(":(")

Solution (Python):
import sys

N=int(input())

for i in range(50000):
	if int(i*1.08)==N:
		print(i)
		sys.exit()

print(':(')

Solution (Python):
import sys

read = sys.stdin.buffer.read
input = sys.stdin.buffer.readline
inputs = sys.stdin.buffer.readlines



























def main():
	n=int(input())
	
	ans=":("
	
	for i in range(50000):
		if (i*1.08)//1==n:
			ans=i
	
	print(ans)
	
	
	
	
if __name__ == "__main__":
		main()

Solution (Python):
N = int(input())
for i in range(50000):
    if int(i * 1.08) == N:
        print(i)
        exit()
print(':(')

Solution (Python):
n = int(input())
for i in range(1, 50001):
  if i*108 // 100 == n:
    print(i)
    exit()
print(":(")

Solution (Python):
import math

N = int(input())

def check():
	for n in range(1, N + 1):
		if math.floor(n * 1.08) == N:
			print(n)
			return
	print(":(")
check()

Solution (Python):

import sys
sys.setrecursionlimit(10**6)
write = sys.stdout.write
dbg = lambda *something : print(*something) if DEBUG else 0
DEBUG = False
def main(given = sys.stdin.readline):
    input = lambda : given().rstrip()
    LMIIS = lambda : list(map(int,input().split()))
    II = lambda : int(input())
    XLMIIS = lambda x : [LMIIS() for _ in range(x)]

    N = II()
    import math
    X = math.ceil(N / 1.08)
    if int(X*1.08) == N:
        print(X)
    else:
        print(':(')



if __name__ == '__main__':
    main()

Solution (Python):
n=int(input())
import math
flag=False
ans=0
for i in range(1,50000):
    if math.floor(i*1.08)==n:
        ans=i
        flag=True
        break
if flag:
    print(ans)
else:
    print(":(")

Solution (Python):
n = int(input())
for x in range(1, n+1):
	if int(x*1.08) == n:
		print(x)
		quit()
print(":(")

Solution (Python):
n = int(input())

ans = -1
for i in range(1,50000):
    if int(i*1.08) == n:
        ans = i
        break
if ans == -1:
    print(":(")
else:
    print(ans)

Solution (Python):



def ri():
    return int(input())

def rl():
    return list(input().split())

def rli():
    return list(map(int, input().split()))

def main():
    n = ri()
    for x in range(1, n+1):
        if int(x*1.08) == n:
            print(x)
            return
    print(":(")


if __name__ == '__main__':
    main()

Solution (Python):
import sys
sys.setrecursionlimit(1000000000)
from itertools import count
from functools import lru_cache
from collections import defaultdict
ii = lambda: int(input())
mis = lambda: map(int, input().split())
lmis = lambda: list(mis())
INF = float('inf')
def meg(f, ok, ng):
    while abs(ok-ng)>1:
        mid = (ok+ng)//2
        if f(mid):
            ok=mid
        else:
            ng=mid
    return ok



def main():
    N = ii()
    import math
    for i in range(N+1):
        if math.floor(i*1.08) == N:
            print(i)
            return
    print(':(')




main()

Solution (Python):


import sys

readline = sys.stdin.readline 

n = int(input())





for x in range(1,n+1):
    if n <= x*1.08 < n+1:
        print(x)
        break
else:
    print(":(")

Solution (Python):
import sys
readline = sys.stdin.readline
N = int(readline())

ans = ':('
for i in range(50001):
    if N == int(i*1.08):
        ans = i
        break
print(ans)

Solution (Python):
N = int(input())

for i in range(1, 50001):
    if int(i * 1.08) == N:
        print(i)
        break
else:
    print(":(")

Solution (Python):
import sys
from itertools import combinations, permutations

def solve():
    input = sys.stdin.readline
    N = int(input())
    for i in range(1, N+1):
        if int(i * 1.08) == N:
            print(i)
            break
    else: print(":(")

    return 0

if __name__ == "__main__":
    solve()

Solution (Python):
N = input()
for X in range(50000):
  if int(X*1.08)==N:
    print X
    break
else:
  print ":("

Solution (Python):
import sys,collections as cl,bisect as bs
sys.setrecursionlimit(100000)
mod = 10**9+7
Max = sys.maxsize
def l(): 
    return list(map(int,input().split()))
def m(): 
    return map(int,input().split())
def onem(): 
    return int(input())
def s(x): 
    a = []
    aa = x[0]
    su = 1
    for i in range(len(x)-1):
        if aa != x[i+1]:
            a.append([aa,su])
            aa = x[i+1]
            su = 1
        else:
            su += 1
    a.append([aa,su])
    return a
def jo(x): 
    return " ".join(map(str,x))
def max2(x): 
    return max(map(max,x))
def In(x,a): 
    k = bs.bisect_left(a,x)
    if k != len(a) and a[k] ==  x:
        return True
    else:
        return False
"""
def nibu(x,n,r):
    ll = 0
    rr = r
    while True:
        mid = (ll+rr)//2

    if rr == mid:
        return ll
    if (ここに評価入れる):
        rr = mid
    else:
        ll = mid+1
"""

n = onem()

for i in range(50000):
    if((i+1)*(1.08)//1 == n):
        print(i+1)
        exit()
else:
    print(":(")

Solution (Python):
n=int(input())
import math
x=math.ceil(n/1.08)
if math.floor(1.08*x)==n:
    print(x)
else:
    print(':(')

Solution (Python):
import sys
n = int(input())

for i in range(50001):
    if int(i * 1.08) == n:
        print(i)
        sys.exit()


print(":(")

Solution (Python):
import math
N = int(input())
X = math.ceil(N / 1.08)

if math.floor(X * 1.08) == N:
    print(X)
else:
    print(":(")

Solution (Python):
N = int(input())

ans = ":("
for i in range(1, N+1):
    if int(i*1.08) == N:
        ans = i
        break
        
print(ans)

Solution (Python):
import sys
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines

N = int(read())

M = int(N / 1.08)

answer = []
for x in range(M-100,M+100):
    y = x * 27 // 25
    if y == N:
        answer.append(x)

if answer:
    print(answer[0])
else:
    print(':(')

Solution (Python):
n=int(input())
a=int(n/1.08)
if int(a*1.08)==n:
    print(a)
elif int((a+1)*1.08) == n:
    print(a+1)
else:
    print(":(")

Solution (Python):
N = int(input())

for i in range(1, 50000):
  if int(i * 1.08) == N:
    print(i)
    break
else:
  print(":(")

Solution (Python):
ans = ':('
N = int(input())
for x in range(10**6):
    if int(x*1.08) == N:
        ans = x
print(ans)

Solution (Python):
from collections import Counter,defaultdict,deque
import sys
import bisect
import math
import itertools
import string
import queue
import copy


from itertools import permutations, combinations
from heapq import heappop, heappush

sys.setrecursionlimit(10**8)
mod = 10**9+7
 
def inp(): 
    return int(input())
def inpm(): 
    return map(int,input().split())
def inpl(): 
    return list(map(int, input().split()))
def inpls(): 
    return list(input().split())
def inplm(n): 
    return list(int(input()) for _ in range(n))
def inpll(n): 
    return [list(map(int, input().split())) for _ in range(n)]

def main():
    n=inp()
    for i in range(1,50001):
        if int(i*1.08)==n:
            print(i)
            return
    print(':(')
if __name__ == "__main__":
    main()

Solution (Python):
N = int(input())

for X in range(1, N+1):
    if int(X*1.08) == N:
        print(X)
        break
else:
    print(':(')

Solution (Python):
N = int(input())
for y in range(1,50010):
    if int(y*1.08) == N:
        print(y)
        exit(0)
print(":(")

Solution (Python):
N=int(input())
x=int(N/1.08)-10
for i in range(20):
  y=int((x+i)*1.08)
  if y==N:
    print(x+i)
    break
else:
  print(':(')

Solution (Python):
import sys
stdin = sys.stdin

sys.setrecursionlimit(10 ** 7)

def li(): return map(int, stdin.readline().split())
def li_(): return map(lambda x: int(x) - 1, stdin.readline().split())
def lf(): return map(float, stdin.readline().split())
def ls(): return stdin.readline().split()
def ns(): return stdin.readline().rstrip()
def lc(): return list(ns())
def ni(): return int(stdin.readline())
def nf(): return float(stdin.readline())

nothing = ":("

cand = []

n = ni()
for i in range(n+1):
    if int(i * 1.08) == n:
        cand.append(i)

print(nothing if len(cand) == 0 else cand[0])

Solution (Python):
n = int(input())
for x in range(1, 50001):
    if int(x * 1.08) == n:
        print(x)
        break
else:
    print(':(')

Solution (Python):
N=int(input())
for i in range(1,N+1):
    if int(i*1.08)==N:
        print(i)
        exit()
print(':(')

Solution (Python):
n=int(input())
x=n/1.08
x=int(int(x))
st=False
for i in range(1,n+1):
    if int(i*1.08)==n:
        st=True
        ans=i
        break
if st:
    print(ans)
else:
    print(":(")

Solution (Python):
n = int(input())

for i in range(1, 50001):
    if int(i * 1.08) == n:
        print(i)
        exit()
print(":(")

Solution (Python):
N = int(input())
for i in range(50001):
  if N == int(i * 1.08):
    print(i)
    break
else:
  print(':(')

Solution (Python):
n=int(input())
for i in range(1,n+1):
  if i*108//100==n:print(i);exit()
print(":(")

Solution (Python):
import math,string,itertools,fractions,heapq,collections,re,array,bisect,sys,random,time,queue,copy

sys.setrecursionlimit(10**7)
inf=10**20
mod=10**9+7
dd=[(-1,0),(0,1),(1,0),(0,-1)]
ddn=[(-1,0),(-1,1),(0,1),(1,1),(1,0),(1,-1),(0,-1),(-1,-1)]

def LI(): return [int(x) for x in sys.stdin.readline().split()]
def LI_(): return [int(x)-1 for x in sys.stdin.readline().split()]
def I(): return int(sys.stdin.readline())
def LS(): return sys.stdin.readline().split()
def S(): return input()

def main():
  N=I()

  for i in range(N+1):
    x=i*1.08
    if int(x)==N:
      return i
  return ':('


print(main())

Solution (Python):
import sys
sys.setrecursionlimit(10**9)
INF=10**18
def input():
    return sys.stdin.readline().rstrip()

def main():
    N=int(input())
    for i in range(1,50001):
        if (i*1.08)//1 == N:
            print(i)
            exit()
    print(':(')

if __name__ == '__main__':
    main()

Solution (Python):
import sys

N = int(input())

for i in range(N+1):

    if N <= i * 1.08 and i * 1.08 < N + 1:
        print (i)
        sys.exit()

print (":(")

Solution (Python):
n=int(input())
for i in range(50001):
    if i*108//100==n:
        print(i)
        exit()
print(':(')

Solution (Python):
import queue
import math
import copy
"""
N = int(input())



A = []
for i in range(N):
	A.append(int(input()))

print(A)

"""

N = int(input())
ans = ":("
for i in range(50000):
	if int(i*1.08) == N:
		ans = i
		break

print(ans)

Solution (Python):
n = int(input())
for i in range(n+1):
    x = int(i*1.08)
    if x == n:
        print(i)
        exit()
print(":(")

Solution (Python):
N = int(input())
for i in range(1, 2*50001):
    if int(i * 1.08) == N:
        print(i)
        quit()
print(":(")

Solution (Python):
n = int(input())

for i in range(1, 1000000):
    if int(i * 1.08) == n:
        print(i)
        break
else:
    print(":(")

Solution (Python):
N=int(input())
f=False
for i in range(50000):
    if int(i*1.08)==N:   
        f=True
        break

print(i if f else ':(')

Solution (Python):


from collections import deque, defaultdict
import itertools as ite
import sys
import math
import decimal

sys.setrecursionlimit(1000000)

INF = 10 ** 18
MOD = 10 ** 9 + 7

N = input()

for i in range(50000):
    if N == int(i * 1.08):
        print i
        exit()
print ":("

Solution (Python):
n = int(input())

for i in range(n+1):
    if int(i * 1.08) == n:
        print(i)
        import sys
        sys.exit()
print(":(")

Solution (Python):
import sys
sys.setrecursionlimit(2147483647)
INF=float("inf")
MOD=10**9+7
input=lambda:sys.stdin.readline().rstrip()
def resolve():
    n=int(input())
    for i in range(1,50001):
        k=int(i*1.08)
        if(n==k):
            print(i)
            return
        elif(n<k):
            print(":(")
            return
resolve()

Solution (Python):
n = int(input())

for x in range(n + 1):
    if int(x * 1.08) == n:
        print(x)
        exit()
print(':(')

Solution (Python):
import sys
input = sys.stdin.readline

N=int(input())

for i in range(50001):
    if int(i*1.08)==N:
        print(i)
        break
else:
    print(":( ")

Solution (Python):
N = int(input())
for x in range(50001):
    if int(x * 1.08) == N:
        print(x)
        exit()
print(':(')

Solution (Python):
N = int(input())
for n in range(100000):
    x = int(n*1.08)
    if N==x:
        print(n)
        exit()
    if x > N:
        break
print(':(')

Solution (Python):
import sys
N = int(input())

for i in range(1000000):
  if i * 108 // 100 == N:
    print(i)
    sys.exit()

print(':(')

Solution (Python):
ng = ":("

n = int(input())

for i in range(n+1):
    if int(i * 1.08) == n:
        print(i)
        exit()
print(ng)

Solution (Python):

from collections import defaultdict,deque
import sys,heapq,bisect,math,itertools,string,queue,copy,time
sys.setrecursionlimit(10**8)
INF = float('inf')
mod = 10**9+7
eps = 10**-7
def inp(): return int(sys.stdin.readline())
def inpl(): return list(map(int, sys.stdin.readline().split()))
def inpl_str(): return list(sys.stdin.readline().split())

N = inp()

for x in range(N+1):
    if int(x * 1.08) == N:
        print(x)
        sys.exit()


print(":(")

Solution (Python):

from collections import defaultdict,deque
from heapq import heappush, heappop
import sys
import math
import bisect
import random
def LI(): return [int(x) for x in sys.stdin.readline().split()]
def I(): return int(sys.stdin.readline())
def LS():return [list(x) for x in sys.stdin.readline().split()]
def S():
    res = list(sys.stdin.readline())
    if res[-1] == "\n":
        return res[:-1]
    return res
def IR(n):
    return [I() for i in range(n)]
def LIR(n):
    return [LI() for i in range(n)]
def SR(n):
    return [S() for i in range(n)]
def LSR(n):
    return [LS() for i in range(n)]

sys.setrecursionlimit(1000000)
mod = 1000000007

def solve():
    n = I()
    for i in range(n+1):
        if int(i*1.08) == n:
            print(i)
            return
    print(":(")
    return


if __name__ == "__main__":
    solve()

Solution (Python):
n = int(input())
for i in range(50000):
    x = int(i * 1.08)
    if (n == x):
        print(i)
        exit()
print(':(')

Solution (Python):
import math


N = int(input())


X = math.ceil(N / 1.08)


if math.floor(X * 1.08) == N:
	print(X)
else:
	print(":(")

Solution (Python):

N = int(input())


ans = -1
for i in range(1, N + 1):
	if int(i * 1.08) == N:
		ans = i


if ans != -1:
	print(ans)
else:
	print(":(")