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 resolve():
    import math
    N = int(input())
    for i in range(N+1):
        if math.floor(i*1.08) == N:
            print(i)
            exit()
    print(":(")
resolve()

Solution (Python):
def resolve():
    x = int(input().strip())
    a =int( x // 1.08 )
    b =int( -1 * (-1 * x // 1.08))
    ans = ':('
    if int(a * 1.08) == x:
        ans = int(a)
    if int(b * 1.08) == x:
        ans = int(b)
    print(ans)
resolve()

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

n = int(N/1.08)
while int(n*1.08) <= N:
    if int(n*1.08) == N:
        print(n)
        break
    else:
        n += 1
else:
    print(":(")

Solution (Python):
import numpy as np


N = int(input())

X = int(np.ceil(N/1.08))
if np.floor(X*1.08)!=N:
    X = ':('

print(X)

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

for i in range(1, 50000):
  if math.floor(i * 1.08) == N:
    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):
import math
def taxminus(X):
    return X/1.08,(X+1)/1.08
N=int(input())
min,max=taxminus(N)
min=math.ceil(min)
if min>=max:
    print(":(")
else:
    print(min)

Solution (Python):


import math

def main():
    n = int(input())

    div = n/1.08
    fl = math.floor(div)
    if math.floor(fl*1.08) == n:
        print(fl)
    elif math.floor((fl+1)*1.08) == n:
        print(fl+1)
    else:
        print(":(")


if __name__ == '__main__':
    main()

Solution (Python):
import sys
def rs(): return sys.stdin.readline().rstrip()
def ri(): return int(rs())
def rs_(): return [_ for _ in rs().split()]
def ri_(): return [int(_) for _ in rs().split()]

import decimal
import math
N = ri()
for i in range(N + 1):
    if math.floor(i * decimal.Decimal(1.08)) == N:
        print(i)
        exit()
print(':(')

Solution (Python):
N = int(input())
X = int(-(-N // 1.08))
print(X if int(X * 1.08) == N else ':(')

Solution (Python):
def main(N, rate=1.08):
    X = int(-(-N // 1.08))
    return X if int(X * rate) == N else -1


if __name__ == "__main__":
    N = int(input())
    ans = main(N)
    print(ans if ans > 0 else ':(')

Solution (Python):
from math import floor

def main(N, rate=1.08):
    ans = -1
    for x in range(1, N+1):
        if floor(x * 1.08) == N:
            ans = x
    return ans


if __name__ == "__main__":
    N = int(input())
    ans = main(N)
    print(ans if ans > 0 else ':(')

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

Solution (Python):
import math
N = int(input())
flag = False
Min = math.floor(N / 1.08)
Max = math.floor( ( N + 1 ) / 1.08 + 1)
for i in range(Min, Max + 1):
  if math.floor( i * 1.08 ) == N:
    print( i )
    flag = True
    break
if not flag:
  print(':(')

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

Solution (Python):




from __future__ import division, print_function 

import sys
import os
from collections import Counter, deque, defaultdict
import itertools
import math
import io


"""Uncomment modules according to your need"""













if sys.version_info[0] < 3:
    input = raw_input
    range = xrange

    filter = itertools.ifilter
    map = itertools.imap
    zip = itertools.izip



"""value of mod"""
MOD = 998244353
mod = 10**9 + 7

"""Uncomment next 4 lines if doing huge recursion"""




def prepare_factorial(mod=mod):
    """ returns two lists, factorial and inverse factorial modulo argument by default 10**9 +7 """
    
    fact = [1]
    for i in range(1, 200005):
        fact.append((fact[-1] * i) % mod)

    ifact = [0] * 200005
    ifact[200004] = pow(fact[200004], mod - 2, mod)
    for i in range(200004, 0, -1):
        ifact[i - 1] = (i * ifact[i]) % mod
 
    return fact, ifact

def modinv(n, p):
    """ returns N inverse modulo p """
    return pow(n, p - 2, p)
 
def ncr(n, r,  fact, ifact):
    """ takes 4 arguments: n , r and factorial and inverse factorial lists"""
    t = (fact[n] * (ifact[r]*ifact[n-r]) % MOD)% MOD
    return t


def get_n(Sum):    
    """this function returns the maximum n for which Summation(n) <= Sum"""
    ans = (-1 + sqrt(1 + 8*Sum))//2
    return ans

def sieve(n):
    """ returns a list of prime numbers till n """
    if n < 2: return list()
    prime = [True for _ in range(n + 1)]
    p = 3
    while p * p <= n:
        if prime[p]:
            for i in range(p * 2, n + 1, p):
                prime[i] = False
        p += 2
    r = [2]
    for p in range(3, n + 1, 2):
        if prime[p]:
            r.append(p)
    return r



def divs(n, start=1):
    """ returns a list of all divisors till n """
    divisors = []
    for i in range(start, int(math.sqrt(n) + 1)):
        if n % i == 0:
            if n / i == i:
                divisors.append(i)
            else:
                divisors.extend([i, n // i])
    return divisors



def divn(n, primes):
    """ returns the number of divisors, two arguments n and the sieve till n """
    divs_number = 1
    for i in primes:
        if n == 1:
            return divs_number
        t = 1
        while n % i == 0:
            t += 1
            n //= i
        divs_number *= t



def lrfind(d, x, default=-1):
    """ Takes 2 arguments an iterable and an element. returns a tuple (firstoccurence,lastoccurence) -1 if not found """
    left = right = -1
    for i in range(len(d)):
        if d[i] == x:
            if left == -1: left = i
            right = i
    if left == -1:
        return default, default
    else:
        return left, right

def gcd(x, y): 
    """ returns greatest common divisor of x and y """
    while y:
        x, y = y, x % y
    return x

def ceil(n, k=1): return n // k + (n % k != 0) 
def input(): return sys.stdin.readline().strip()
def ii(): return int(input()) 
def mi(): return map(int, input().split()) 
def li(): return list(map(int, input().split())) 
def lw(): return input().split() 
def lcm(a, b): return abs(a * b) // gcd(a, b) 
def prr(a, sep=' ', end='\n'): print(sep.join(map(str, a)), end=end) 
def dd(): return defaultdict(int) 
def ddl(): return defaultdict(list) 
def write(s): return sys.stdout.write(s)













def main():
    
    n=ii()
    c=n/1.08
    if int(int(c)*1.08)==n:
        print(int(c))
    elif int((int(c)+1 )*1.08)==n:
        print(int(c+1))
    else:
        print(":(")

















































""" -------- Python 2 and 3 footer by Pajenegod and c1729 ---------"""
 
py2 = round(0.5)
if py2:
    from future_builtins import ascii, filter, hex, map, oct, zip
    range = xrange
 
import os, sys
from io import IOBase, BytesIO
 
BUFSIZE = 8192
 
class FastIO(BytesIO):
    newlines = 0
 
    def __init__(self, file):
        self._file = file
        self._fd = file.fileno()
        self.writable = "x" in file.mode or "w" in file.mode
        self.write = super(FastIO, self).write if self.writable else None
 
    def _fill(self):
        s = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
        self.seek((self.tell(), self.seek(0, 2), super(FastIO, self).write(s))[0])
        return s
 
    def read(self):
        while self._fill(): pass
        return super(FastIO, self).read()
 
    def readline(self):
        while self.newlines == 0:
            s = self._fill();
            self.newlines = s.count(b"\n") + (not s)
        self.newlines -= 1
        return super(FastIO, self).readline()
 
    def flush(self):
        if self.writable:
            os.write(self._fd, self.getvalue())
            self.truncate(0), self.seek(0)
 
 
class IOWrapper(IOBase):
 
    def __init__(self, file):
        self.buffer = FastIO(file)
        self.flush = self.buffer.flush
        self.writable = self.buffer.writable
        if py2:
            self.write = self.buffer.write
            self.read = self.buffer.read
            self.readline = self.buffer.readline
        else:
            self.write = lambda s: self.buffer.write(s.encode('ascii'))
            self.read = lambda: self.buffer.read().decode('ascii')
            self.readline = lambda: self.buffer.readline().decode('ascii')
 
 
sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
input = lambda: sys.stdin.readline().rstrip('\r\n')


 
""" main function"""
 
if __name__ == '__main__':
    main()

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

Solution (Python):
import math

n = int(input())

x = math.ceil(n/1.08)
print(x) if math.floor(x*1.08) == n else print(':(')

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

xmin = int(n/1.08)
xmax = int((n+1)/1.08)


if n%27 == 0:
  print(xmax)
elif (n+1)%27 == 0:
  print(":(")
elif xmin == xmax:
  print(":(")
else:
  print(xmax)

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())
if (((n/1.08)//1)*1.08)//1==n:
    print(int((n/1.08)//1))
elif (((n/1.08)//1+1)*1.08)//1==n:
    print(int(((n+1)/1.08)//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)
        quit()
print(':(')

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

for i in range(N+1):
    if math.floor(1.08 * i) == N:
        print(i)
        exit()

print(":(")

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

for i in range(N+1):
    if math.floor(1.08 * i) == N:
        print(i)
        exit()

print(":(")

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

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

dic={}
for i in range(1,50001):
    p=int(i*1.08)
    dic[p]=i
if n in dic:
    print(dic[n])
else:
    print(":(")

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

if ans == 0:
    print(":(")
else:
    print(ans)

Solution (Python):
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10 ** 7)

n = int(input())

def bs(ok, ng, solve):
    while abs(ok - ng) > 1:
        mid = (ok + ng) // 2
        if solve(mid):
            ok = mid
        else:
            ng = mid
    return ok

ans = bs(ok=n, ng=0, solve=(lambda x: x * 1.08 >= n))
if int(ans * 1.08) == n:
    print(ans)
else:
    print(':(')

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

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(50000):
    if int(i*1.08) == N:
        print(i)
        exit()
print(":(")

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

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

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

for i in range(1,46298):
    if math.floor(i*1.08) == N:
        print(i)
        exit()
print(":(")

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

Solution (Python):
n = int(input())
mi = n / 1.08
ma = (n+1) / 1.08
tar = int(mi)
while(tar <= ma):
    if mi <= tar < ma:
        print(tar)
        quit()
    tar += 1
print(":(")

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

Solution (Python):
n = int(input())
for x in range(n+1):
    if x * 108 // 100 == n:
        print(x)
        break
else:
    print(':(')

Solution (Python):
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10 ** 7)

n = int(input())

def bs(ok, ng, solve):
    while abs(ok - ng) > 1:
        mid = (ok + ng) // 2
        if solve(mid):
            ok = mid
        else:
            ng = mid
    return ok

ok = n
ng = 0
ans = bs(ok, ng, lambda x: x * 1.08 >= n)
if int(ans * 1.08) == n:
    print(ans)
else:
    print(':(')

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

ans_cand = int(N/1.08)
if int(ans_cand*1.08) == N:
    print(ans_cand)
elif int((ans_cand+1)*1.08) == N:
    print(ans_cand+1)
else:
    print(':(')

Solution (Python):


N = int(input())

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

Solution (Python):
N = int(input())
C =  int(N/1.08)
flag = False
for i in range(0, 2):
    if int((C+i)*1.08) == N:
        print(C+i)
        flag = True
if not flag:
    print(":(")

Solution (Python):
N = int(input())
X = int(-(-N//1.08))
if N == int(X * 1.08):
  print(X)
else:
  print(':(')

Solution (Python):
n = int(input())
x = int(n / 1.08 - 2)
for i in range(x, x + 4):
    if int(i * 108 // 100) == n:
        print(i)
        break
else:
    print(":(")

Solution (Python):


N = int(input())

x_ = N//1.08
ans = ':('
for i in range(1,100000):
    x = x_+i
    if int(1.08*x) == N:
        ans = int(x)
        break

print(ans)

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

import math
import sys

for i in range(1, 50000+1):
  if math.floor(i * 1.08) == N:
    print(i)
    sys.exit()
print(":(")

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

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

Solution (Python):
from decimal import Decimal
N = int(input())
M = int(N/Decimal(1.08)) + 1
if N == int(M*Decimal(1.08)) :
    print( int(M))
else :
    print(':(')

Solution (Python):
from decimal import Decimal
N = int(input())
M = int(N/Decimal(1.08)) + 1
if N == int(M*Decimal(1.08)) :
    print( int(M))
else :
    print(':(')

Solution (Python):

N=int(input())

a=int(N*100/110)-1

flg=False

for i in range (N-a+1):
    if ((a+i)*1.08)//1==N:
        print(a+i)
        exit()
    else:
        pass
print(':(')

Solution (Python):
n = int(input())
ans = int(n/1.08)

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

print(":(")

Solution (Python):
import math

x = int(input())
x_upper = (x+1) / 1.08
x_lower = x / 1.08
x_candidate = math.ceil(x_lower)
if x_lower <= x_candidate < x_upper:
    print(x_candidate)
else:
    print(":(")

Solution (Python):
N = int(input())
for x in range(1,100000):
  if x*108//100==N:
    print(x)
    break
if x==99999:
  print(":(")

Solution (Python):
import math

n = int(input())

ans = math.ceil(n/1.08)

if n == int(ans*1.08):
  print(ans)
else:
  print(":(")

Solution (Python):
def resolve():
    from decimal import Decimal
    N = Decimal(input())
    for X in range(1, 50000+1):
        if (int(X * 1.08) == N):
            print(X)
            return
    print(':(')

    return

resolve()

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

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

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

Solution (Python):
def resolve():
    import math as m
    N = int(input())
    nn = m.ceil(N / 1.08)
    if m.floor(nn * 1.08) == N:
        print(nn)
    else:
        print(":(")


resolve()

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

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

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

Solution (Python):
n = int(input())
x = int(n // 1.08)
if int(x * 1.08) == n:
    print(x)
    exit()
x = x + 1
if int(x * 1.08) == n:
    print(x)
else:
    print(':(')

Solution (Python):
import sys, re
from collections import deque, defaultdict, Counter
from math import ceil, sqrt, hypot, factorial, pi, sin, cos, tan, asin, acos, atan, radians, degrees
from itertools import accumulate, permutations, combinations, combinations_with_replacement, product, groupby
from operator import itemgetter, mul
from copy import deepcopy
from string import ascii_lowercase, ascii_uppercase, digits
from bisect import bisect, bisect_left, insort, insort_left
from fractions import gcd
from heapq import heappush, heappop
from functools import reduce
def input(): return sys.stdin.readline().strip()
def INT(): return int(input())
def MAP(): return map(int, input().split())
def LIST(): return list(map(int, input().split()))
def ZIP(n): return zip(*(MAP() for _ in range(n)))
sys.setrecursionlimit(10 ** 9)
INF = float('inf')
mod = 10**9 + 7
from decimal import *

N = input()

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

Solution (Python):
import math

n = int(input())

for i in range(1, 50001):
    x = math.floor(i * 1.08)
    if x == n:
        print(i)
        break
else:
    print(":(")

Solution (Python):
n=int(input())
for i in range(1,n+1):
  if i*1.08>=n and i*1.08<n+1:
    print(i)
    break
else:
  print(":(")

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

Solution (Python):
n = int(input())
result = ":("
for i in range(1, 50001):
    if int(i*1.08)==n:
        result = i
        break
print(result)

Solution (Python):
n = int(input())
p = 0
for i in range(n+1):
    if int(i * 1.08) == n:
        print(i)
        p = 1
        break
if p == 0:
    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())
n=N//1.08
a=int(n*1.08)
b=int((n+1)*1.08)
print(int(n) if a==N else int(n+1) if b==N else ":(")

Solution (Python):
import math

N = int(input())
rate = 1.08


a = math.ceil(N / rate)
b = math.ceil((N + 1) / rate)


if a >= b:
    print(":(")
else:
    
    print(a)

Solution (Python):
import math

N=int(input())
M=N/1.08

s = str(math.floor(M)) if N == int(math.floor(M)*1.08) else  str(math.ceil(M)) if N == int(math.ceil(M)*1.08) else ':('

print(s)

Solution (Python):
from math import ceil
from sys import stdin
N = int(stdin.readline().rstrip())
ans = ceil(N / 1.08)
if int(ans * 1.08) == N:
    print(ans)
else:
    print(':(')

Solution (Python):
import math
n = int(input())
lx = math.ceil(n/1.08)
rx = (n+1)/1.08
print(lx if lx<rx else ':(' )

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

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

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

Solution (Python):
import math
N = int(input())
downer = math.ceil(N/1.08)
upper = math.floor((N+1)/1.08-0.0000000001)
A = [i for i in range(downer,upper+1)]
for i in range(len(A)):
    if math.floor(A[i]*1.08) == N:
      print(A[i])
      exit()
print(':(')

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

import math

x = math.ceil(n / 1.08)
m = math.floor(x * 1.08)

if m == n:
    print(int(x))
else:
    print(':(')

Solution (Python):
import sys
N=int(input())
a=N//1.08
c=a+1
d=a-1
b=a*1.08
b=int(b)
if b==N:
  print(int(a))
  sys.exit()
elif int(c*1.08)==N:
  print(int(c))
elif int(d*1.08)==N:
  print(int(d))
else:
  print(":(")

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

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

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

Solution (Python):
n = int(input())
ans = n / 1.08
if int(int(ans) * 1.08) == n:
  print(int(ans))
elif int(int(ans+1) * 1.08) == n:
  print(int(ans+1))
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):
import math

N = int(input())
A = N // 1.08
A2 = A + 1

if math.floor(A * 1.08) == N:
	ans = int(A)
	print(ans)
elif math.floor(A2 * 1.08) == N:
	ans = int(A2)
	print(ans)
else:
	print(":(")

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

ans = 0
for i in range(49999):
    if int(i*1.08) == N:
        ans = i

if ans:
    print(ans)
else:
    print(":(")

Solution (Python):
import math
n = int(input())
a = math.ceil(n/1.08)
b = math.floor(a*1.08)
print(a*(n == b) or ":(")

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

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

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

Solution (Python):
import math

N = int(input())

a = math.floor(N / 1.08)
b = a + 1

aa = math.floor(a * 1.08)
bb = math.floor(b * 1.08)

if(aa == N):
    print(a)
else:
    if(bb == N):
        print(b)
    else:
        print(":(")

Solution (Python):
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10 ** 7)

n = int(input())

def bin_search(ok, ng, cond):
    while abs(ok - ng) > 1:
        mid = (ok + ng) // 2
        if cond(mid):
            ok = mid
        else:
            ng = mid
    return ok

ans = bin_search(n, 0, lambda x: (x * 1.08) >= n)
if int(ans * 1.08) == n:
    print(ans)
else:
    print(':(')

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

Solution (Python):
def main():
    n = int(input())
    p = n * 25 // 27
    a, b = int(p * 1.08), int((p + 1) * 1.08)
    if a == n:
        print(p)
    elif b == n:
        print(p + 1)
    else:
        print(":(")

if __name__ == "__main__":
    main()

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

i=1
while i<=N:
    if math.floor(i*1.08)==N:
        print(i)
        quit()
    i+=1
print(":(")

Solution (Python):
n = int(input())
ans = n
while int(ans*1.08) > n:
    ans -= 1
if int(ans*1.08)==n:
    print(ans)
else:
    print(":(")

Solution (Python):






N = int(input())





for x in range(int(N * 10/11), N+1):
    if (x*1.08)//1 == N:
        print(x)
        break
else:
    print(":(")

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

a = math.floor(n / 1.08)
b = a + 1

aa = math.floor(a * 1.08)
bb = math.floor(b * 1.08)
if (aa == n):
    print(a)
else:
    if (bb == n):
        print(b)
    else:
        print(':(')

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

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

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

a = N/1.08
b = (N+1)/1.08

if b-math.ceil(a) <= 0:
    print(':(')
else:
    print(math.ceil(a))

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

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

Solution (Python):
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10 ** 7)

n = int(input())

def bs(ok, ng, cond):
    while abs(ok - ng) > 1:
        mid = (ok + ng) // 2
        if cond(mid):
            ok = mid
        else:
            ng = mid
    return ok

ans = bs(n, 0, lambda x: (x * 1.08) >= n)
if int(ans * 1.08) == n:
    print(ans)
else:
    print(':(')

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


def mi():
    return map(int, input().split())


def ii():
    return int(input())


N = ii()

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())
import math
X = math.ceil(N/1.08)
if math.floor(X * 1.08) == N:
    print(X)
else:
    print(":(")

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

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

if ans != 0:
    print(ans)
else:
    print(":(")

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

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

if ans != 0:
    print(ans)
else:
    print(":(")

Solution (Python):
def resolve():
    import math
    N = int(input())
    price = N/1.08
    reTaxprice1 = math.floor(math.floor(price)*1.08)
    reTaxprice2 = math.floor(math.ceil(price)*1.08)
    if reTaxprice1 == N:
        print(math.floor(price))
    elif reTaxprice2 == N:
        print(math.ceil(price))
    else:
        print(':(')
resolve()

Solution (Python):
import math

N = int(input())

mini = N / 1.08
maxx = (N + 1) / 1.08
int_n = math.ceil(N / 1.08)


if (mini <= int_n and int_n < maxx):
    ans = int_n
else:
    ans = ':('

print(ans)

Solution (Python):
n=int(input())
a=int(n/1.08)
aa=a-1
aaa=a+1
b=int(a*1.08)
bb=int(aa*1.08)
bbb=int(aaa*1.08)
A=[a,aa,aaa]
B=[b,bb,bbb]
f=0
for i in range(3):
  if B[i]==n:
    f=1
    ans=A[i]
    break
if f==0:
  print(":(")
else:
  print(ans)

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

print(":(")

Solution (Python):
from math import ceil, floor

n = int(input())
res = ceil(n/1.08)
if floor(res*1.08) == n:
    print(res)
else:
    print(":(")

Solution (Python):
N = int(input())
X = int(N//1.08)+1

if int(X*1.08) == N:
  print(X)
else:
  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):
from sys import stdin

n = int(stdin.readline().strip())
x1 = n // 1.08
x2 = n // 1.08 + 1

if int(x1 * 1.08) == n:
  print(int(x1))
elif int(x2 * 1.08) == n:
  print(int(x2))
else:
  print(":(")

Solution (Python):

import sys
import math


def solve(N: int):
    
    

    for i in range(1, 50001):
        if N == math.floor(i * 1.08):
            print(i)
            return
    print(":(")



def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word

    tokens = iterate_tokens()
    N = int(next(tokens))  
    solve(N)


if __name__ == "__main__":
    main()

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

for i in range(limax+1):
    if int(i*1.08) == n:
        print(i)
        break
    elif i == limax:
        print(':(')
    else:
        pass

Solution (Python):
N = int(input())
X = int(N / 1.08)

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

Solution (Python):
n=int(input())
xx=int(n/1.08)
if xx*1.08==n:
  print(xx)
else:
  xy=xx+1
  if int(xy*1.08)==n:
    print(xy)
  else:
    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):
import math

n = int(input())

for i in range(1,47000):
    if math.floor(i*1.08) == n:
        print(i)
        quit()

print(':(')

Solution (Python):
import math
s=int(input())
n = math.ceil(s/1.08)


if math.floor(n*1.08)==s:
    print(n)
else:
    print(":(")

Solution (Python):
import sys
input = sys.stdin.readline
sys.setrecursionlimit(10 ** 7)

n = int(input())

def binary_search(n):
    ok = n
    ng = 0
    while abs(ok - ng) > 1:
        mid = (ok + ng) // 2
        if (mid * 1.08) >= n:
            ok = mid
        else:
            ng = mid
    return ok

ans = binary_search(n)
if int(ans * 1.08) == n:
    print(ans)
else:
    print(':(')

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

import math

def cal():
    
    ok = n
    ng = 0
    
    while abs(ok - ng) > 1:
        mid = (ok + ng) // 2

        if mid * 1.08 >= n:
            ok = mid
        else:
            ng = mid
    return ok


ans = cal()
if int(ans * 1.08) == n:
    print(ans)
else:
    print(':(')

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

import math

def cal():
    for i in range(n+1):
        if n == int(i * 1.08):
            return i
    return 0

ans = cal()
if ans:
    print(ans)
else:
    print(':(')

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

import math

def cal():
    for i in range(n+1):
        if n == math.floor(i * 1.08):
            return i
    return 0

ans = cal()
if ans:
    print(ans)
else:
    print(':(')

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

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

Solution (Python):
i = int(input())
x = i / 1.08
y = (i + 1) / 1.08
if x <= int(y) < y:
    print(int(y))
else:
    print(':(')

Solution (Python):

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

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

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

Solution (Python):
import math



def inp():
    return(int(input()))


n = inp()
res = ":("
for i in range(1, n+1):
    temp = math.floor(i*1.08)
    if temp == n:
        res = i
print(res)