jiahuimbzuai/CoQuIR huggingface dataset:
//  [typescript]
const main = (input) => {
  input = input.split(' ');
  const X = parseInt(input[0], 10);
  const A = parseInt(input[1], 10);
  const B = parseInt(input[2], 10);
  
  if (X+A<B) {
    console.log("dangerous");
  }else if (A-B>=0) {
    console.log("delicious");
  }else{
    console.log("safe");
  }
}
main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [typescript]
{
  const main = (input: string): void | string | number => {
    const r = _reader(input)
    const [x, a, b] = r.nn()
    // k日前に食べた
    const k = a - b

    if (k >= 0) {
      return 'delicious'
    } else if (x + 1 > -k) {
      return 'safe'
    }
    return 'dangerous'
  }

  const _reader = (str: string, i = 0) => {
    const lines = str.trim().split('\n')
    const s = () => lines[i++] || ''
    const n = () => Number(s())

    const mn = (v: string[]) => v.map(Number)
    const sp = (v: string) => v.split(' ')
    const ss = () => sp(s())
    const nn = () => mn(ss())
    const nls = () => mn(lines.slice(i))
    const nnls = () => lines.slice(i).map(v => mn(sp(v)))

    return { lines, s, n, ss, nn, nls, nnls }
  }

  const _getInput = () => require('fs').readFileSync('/dev/stdin', 'utf8')
  const _res = main(_getInput())

  if (typeof _res === 'number' || typeof _res === 'string') console.log(_res)
}
//  [typescript]
const input=require('fs').readFileSync('/dev/stdin', 'utf8').split(/[\s]/);const nin=()=>{const r = input[0];input.shift();return Number(r)};const nrin=(n)=>{const a:number[]=[];rep(n,()=>a.push(nin()));return a};const sin=()=>{const r = input[0];input.shift();return String(r)};const out=(...a)=>{console.log(...a)};const floor=(a)=>{return Math.floor(a)};const abs=(a)=>{return Math.abs(a)};const min=(...a)=>{return Math.min(...a)};const max=(...a)=>{return Math.max(...a)};const rep=(n, callback)=>{for(let i = 0;i < n; i++){callback()}};const strrep=(s, i, v)=>{return s.slice(0, i)+v+s.slice(i+1);};const permutation=({result=[],pre=[],post,n=post.length})=>{if(n>0){post.forEach((_,i)=>{const rest=[...post];const elem=rest.splice(i, 1);permutation({result, pre: [...pre,...elem],post:rest,n:n-1})})}else{result.push(pre)}return result};const sw=(s,a:any[],op:'=='|'>='|'>'|'<='|'<'='==')=>{for(let i=0;i<a.length;i+=2){if(op==='=='){if(s==a[i])return a[i+1]}else if(op==='>='){if(s>=a[i])return a[i+1]}else if(op==='<='){if(s<=a[i])return a[i+1]}else if(op==='>'){if(s>a[i])return a[i+1]}else if(op==='<'){if(s<a[i])return a[i+1]}}return a[a.length-1];};const or=(a,...b)=>{for(let i=0;i<b.length;i++)if(a==b[i])return true;return false};const maxindex=(...a)=>{return a.indexOf(Math.max.apply(null,a))};const asc=(ar:number[])=>{return ar.sort((a,b)=>{return a-b})};const desc=(ar:number[])=>{return ar.sort((a,b)=>{return b-a})};const ceil=a=>{return Math.ceil(a)};const srin=s=>{const a:string[]=[];rep(s,()=>a.push(sin()));return a};let ssinteger=-1;const ssin=()=>{ssinteger++;return input[0][ssinteger]};
const main = ()=>{
  let [a,b,c]=nrin(3)
  out(b>=c?'delicious':a+b-c>=0?'safe':'dangerous')
}
main()
//  [typescript]
import { readFileSync } from "fs";

const read = () =>
  readFileSync(0, "utf8")
    .split("\n")
    .map((line) => line.split(" "));

const main = (input: string[][]) => {
  const [X, A, B] = input[0].map(Number);

  if (B <= A) {
    return "delicious";
  } else if (B <= A + X) {
    return "safe";
  } else {
    return "dangerous";
  }
};

console.log(main(read()));
//  [typescript]
import * as fs from 'fs';

const [x, a, b]: number[] = fs.readFileSync('/dev/stdin', 'utf8').trim().split(' ').map(Number);
if (a >= b) {
    console.log('delicious');
} else if (x >= (b - a)) {
    console.log('safe');
} else {
    console.log('dangerous');
}
//  [typescript]
"use strict";
const Main = (input) =>{
   let xs = input.trim().split(' ').map(v=>parseInt(v,10));
   let X = xs[0];
   let A = xs[1];
   let B = xs[2];
   
   if(B-A<=0){
     console.log('delicious');
   }else if(B-A<=X){
     console.log('safe');
   }else{
     console.log('dangerous');
   }
}
Main(require('fs').readFileSync('/dev/stdin','utf8'));
//  [python]
k=int(input())
s=7
x=10000000
for i in range(x):
    if(s%k==0):
        print(i+1)
        break
    s=(s%k)*10+7
if(s%k!=0):
    print("-1")
//  [python]
K = int(input())
now = 1
ans = 7
mod = 10 ** 9 + 7
for i in range(K + 1):
    if ans % K == 0:
        print(now)
        exit()
    now += 1
    # ans += 7 * 10 ** (i + 1)
    # ans %= 10 ** 9 + 7
    # ans += 7 * 10 ** (i + 1) % mod
    ans += 7 * pow(10, i + 1, K) % K


print('-1')
//  [python]
k = int(input())
x,ans = 7%k,1
for _ in range(0,int(1e7)):
  if x==0:
    break
  x = (x*10+7)%k
  ans += 1
print(ans if x==0 else -1)
//  [java]
import java.math.BigDecimal;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);

		//入力値取得
		BigDecimal K = scan.nextBigDecimal();

		//演算
		BigDecimal SEVEN = new BigDecimal(7);
		BigDecimal num = SEVEN;
		int digit = 1;

		if (!K.remainder(new BigDecimal(2)).equals(BigDecimal.ZERO)
				&& !K.remainder(new BigDecimal(5)).equals(BigDecimal.ZERO)) {

			BigDecimal wk = SEVEN.remainder(K);

			while (!num.remainder(K).equals(BigDecimal.ZERO)) {
				wk = wk.multiply(BigDecimal.TEN).remainder(K);
				num = num.add(wk);
				digit++;
			}
		} else {
			digit = -1;
		}

		//結果出力
		System.out.println(digit);
	}
}
//  [java]
import java.util.*;

class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    long k=sc.nextLong();
    if(7%k==0){
      System.out.println(1);
      return;
    }
    if(k%7==0){
      k=k/7;
    }
    k=k*9;
    long ai=10;
    for(int i=1;i<80000000;i++){
      if(ai==1){
        System.out.println(i);
        return;
      }
      //System.err.print(ai+" ");
      ai=(ai*10)%k;
    }
    System.out.println(-1);
  }
}
//  [java]
import java.util.*;
import java.util.function.*;
import java.math.*;
public class Main {
    public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int K = Integer.valueOf(s.next());
		if(K%2==0) {
			System.out.println(-1);
			return;
		}
		
		int cur = 7;
		int cnt = 1;
		for(int i = 0; i < 100000000; i++) {
			if(cur % K == 0) {
				System.out.println(cnt);
				return;
			}else {
				cur = (cur * 10 + 7) % K;
				cnt++;
			}
		}
		System.out.println(-1);
	}
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;

int main() {
  int K;
  cin >> K;
  int cnt = 0, now = 0;
  auto start = clock();
  while (++cnt) {
    now = (now * 10 + 7) % K;
    if (now == 0) return cout << cnt << "\n", 0;
    if ((double) (clock() - start) / CLOCKS_PER_SEC > 1.99) return cout << -1 << "\n", 0;
  }
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;
using namespace std::chrono;

int main() {
  int K;
  cin >> K;
  int cnt = 0, now = 0;
  auto start = system_clock::now();
  while (++cnt) {
    now = (now * 10 + 7) % K;
    if (now == 0) return cout << cnt << "\n", 0;
    if (static_cast<double>(duration_cast<milliseconds>(system_clock::now() - start).count() / 1000.0) > 1.99) {
      return cout << -1 << "\n", 0;
    }
  }
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;

int main() {
  int K;
  cin >> K;
  int cnt = 0, now = 0;
  auto start = chrono::system_clock::now();
  while (++cnt) {
    now = (now * 10 + 7) % K;
    if (now == 0) return cout << cnt << "\n", 0;
    if (static_cast<double>(chrono::duration_cast<chrono::microseconds>(chrono::system_clock::now() - start).count() / 1000.0) > 1990) return cout << -1 << "\n", 0;
  }
}
//  [c]
#include <stdio.h>
int main(){
  long long int k,i,n=0;
  scanf("%lld",&k);
  
  for(i=1; i<=150000000;i++){
    n=10*n+7;
    n=n%k;
    if(n==0){
      printf("%lld",i);
      return 0;
    }
  }
  printf("-1");
  return 0;
}
//  [c]
#include <stdio.h>
int main(){
  long long int k,i,n=0;
  scanf("%lld",&k);
  
  for(i=1; i<=100000000;i++){
    n=10*n+7;
    n=n%k;
    if(n==0){
      printf("%lld",i);
      return 0;
    }
  }
  printf("-1");
  return 0;
}
//  [c]
#include <stdio.h>
#define _USE_MATH_DEFINES
#include <math.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <string.h>


int L_in;

int main(int argc, char* argv[]){
    int i,j,now,ten,flag,temp;
    //long int tenal;
    scanf("%d",&L_in);
    now = 7;
    ten = 7;
    flag=0;
    int small10,start;
    //for(i=0;i<=6;i++){
    //    if(ten>=L_in){
    //        small10 = ten;
    //        start = i;
    //        break;
    //    }
    //    ten *=10;
    //}

    //for(i=start;i<=10000;i++){
    for(i=1;i<=100000000;i++){
        temp = now % L_in;
        if(temp == 0){
            printf("%d",i);
            flag=1;
            break;
        }
        ten *= 10;
        ten = ten % L_in;
        now = temp + ten;
    }

    if(flag==0){
        printf("-1");
    }
    return 0;
}
//  [javascript]
function Main(arg) {
    const k = arg;

    let x = 7 % k;
    let cnt = 1;
    const s = new Set();

    while(!s.has(x)){
        if(x === 0) {
            console.log(cnt);
            return;
        }
        s.add(x);
        x = (x * 10 +7) % k;
        cnt++;
    }

    console.log('-1');
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [javascript]
process.stdin.resume();
process.stdin.setEncoding('utf8');

var lines = [];
var reader = require('readline').createInterface({
  input: process.stdin,
  output: process.stdout
});
reader.on('line', (line) => {
  lines.push(line);
});
reader.on('close', () => {
    const N = lines[0]-0;
    let tmp = 0;
    for(let i=1;i<=1000000;i++){
        tmp *= 10;
        tmp += 7;
        tmp %= N;
        if(tmp === 0){
            console.log(i);
            return;
        }
    }
    console.log(-1);
});

function check(ans){
    
    return true;
}
//  [javascript]
//解説参照済み

function main(input = "") {
    const K = 0 | input;
    let L = 9 * K;
    if (L % 2 === 0) { return -1; }
    if (L % 5 === 0) { return -1; }
    if (L % 7 === 0) { L = 0 | L / 7; }

    let res = 0;
    let mod = 10 % L;
    for(i = 1; i <= L; i++){
        if(mod === 1){
            res = i;
            break;
        }
        mod = mod * 10 % L;
    }
    return res;
}

//******************************
exports.main = main;

function Main(input) {
    console.log(main(input.trim()));
}

if (process.argv[2] !== "test") {
    Main(require("fs").readFileSync("/dev/stdin", "utf8"));
}
//  [go]
package main

import (
	"fmt"
)

var m = map[int]map[int]bool{}

func main() {
	var K int
	fmt.Scan(&K)
	var ctr uint64 = 1
	if K%2 == 0 {
		fmt.Println(-1)
		return
	}
	sum := 7
	e := 1
	k := 10 % K
	for {
		if sum%K == 0 {
			fmt.Println(ctr)
			return
		}
		e *= k
		e %= K
		diff := (7 % K) * e
		if v, ok := m[sum%K]; ok {
			if v[diff] {
				fmt.Println(-1)
				return
			}
			m[sum%K][diff%K] = true
		} else {
			m[sum%K] = map[int]bool{diff % K: true}
		}
		sum += diff
		ctr++
	}
}
//  [ruby]
K = gets.to_i
Lim = 5 * (10 ** 6)

mod10s = []
for i in 1..Lim do
  if i == 1 then
    mod10s[i-1] = (1 % K)
  else
    mod10s[i-1] = (mod10s[i-2] * 10) % K
  end
end

ans = -1
current_mod = 0
for i in 1..Lim do
  current_mod = (current_mod + mod10s[i-1] * 7) % K
  if current_mod == 0 then
    ans = i
    break
  end
end
  
puts ans
//  [ruby]
k=gets.to_i
s=7
a=0
10000000.times do |i|
  s=s%k
  a=(a+s)%k
  if a==0
    puts i+1
    exit
  end
  s*=10
end
puts "-1"
//  [ruby]
# https://atcoder.jp/contests/abc174/tasks/abc174_c

K = gets.to_i

K /= 7 if (K % 7).zero?

if K.even? || (K % 5).zero?
  puts(-1)
  exit 0
end

ws = 10.times.map { |i| K * i }
n = m = 1
v = 1

K.times do
  # p [n, m, v]
  w = ws.find { |a| a % 10 == v % 10 }
  while v < w
    v += 10**m
    n += 1
    m += 1
    # p [' ', n, m, v]
  end
  v -= w
  if v.zero?
    puts n
    exit 0
  end
  v /= 10
  m -= 1
end

puts(-1)
//  [rust]
use proconio::input;
#[allow(unused_imports)]
use proconio::marker::{Bytes, Chars};
#[allow(unused_imports)]
use std::cmp::{min, max};

fn main() {
	input! {
		k: usize,
	}

	if k % 2 == 0 {
		println!("-1");
		return;
	}

	let mut ans = 1;
	let mut n = 7usize;
	loop {
		if n % k == 0 {
			println!("{}", ans);
			return;
		}
		n = (n*10 + 7) % k;
		ans += 1;
		if ans > 99999999 {
			println!("-1");
			return;				
		}
	}
}
//  [rust]
#[allow(unused_imports)]
use proconio::{
    fastout, input,
    marker::{Bytes, Chars, Isize1, Usize1},
};

fn main() {
    input! {
        k:usize
    }
    let mut buf = 7_usize % k;
    for i in 0..99999999 {
        if buf % k == 0 {
            println!("{}", i + 1);
            return;
        }
        buf *= 10;
        buf += 7;
        buf %= k;
    }
    println!("-1");
}
//  [swift]
let k = Int(readLine()!)!

var modulos = Set<Int>()

var current = 0
var count = 0
while true {
  current = (current * 10 + 7) % k
  count += 1
  if modulos.contains(current) {
    count = -1
    break
  }
  if current == 0 {
    break
  }
  modulos.insert(current)
}
print(count)
//  [swift]
func readInt() -> Int {
    Int(readLine()!)!
}
 
func readInts() -> [Int] {
    readLine()!.split(separator: " ").map { Int($0)! }
}
 
prefix operator *
prefix func * <T> (a: [T]) -> (T, T) {return (a[0], a[1])}
prefix func * <T> (a: [T]) -> (T, T, T) {return (a[0], a[1], a[2])}

func main() {
    let k = readInt()

    var s: Set<Int> = []

    var v = 7 % k
    for i in 1... {
        guard !s.contains(v) else { break }

        s.insert(v)

        if v == 0 {
            print(i)
            return
        }

        v = (v * 10 + 7) % k
    }

    print(-1)
}

main()
//  [swift]
// 🐋💭
import Foundation

func readInts() -> [Int] {
    return readLine()!.split(separator: " ").map { Int($0)! }
}

func readInt() -> Int {
    return Int(readLine()!)!
}

func readDoubles () -> [Double] {
    return readLine()!.split(separator: " ").map { Double($0)! }
}

func readDouble() -> Double{
    return Double(readLine()!)!
}
///最大公約数を返す
func gcd(_ m:Int, _ n:Int) -> Int {
    if n == 0 {return m}
    return gcd(n, m % n)
}
///最小公倍数を返す
func lcm(_ m:Int, _ n:Int) -> Int {
    return m * n / gcd(m, n)
}

///素数判定(試し割り)
func isPrime(_ x:Int) -> Bool {
    if x <= 1 || x % 2 == 0 { return false }
    if x == 2 { return true }
    for i in stride(from: 3, to: Int(ceil(sqrt(Double(x)))), by: 2){
        if x % i == 0 {
            return false
        }
    }
    return true
}

//https://program-life.com/669
///実行速度の計測
func exectionTime(action: () -> Void) {
    let startDate = Date()
    action()
    let endDate = Date()
    print(endDate.timeIntervalSince(startDate))
}

// https://melheaven.hatenadiary.jp/entry/atcoder144
///約数の配列を返す
func makeDivisors(_ n:Int) -> [Int] {
    var divisors = [Int]()
    for i in 1..<Int(pow(Double(n), 0.5)) + 1 {
        if n % i == 0{
            divisors.append(i + n / i)
        }
    }
    
    return divisors
}

//https://riptutorial.com/ja/swift/example/14738/インデックスを知らずに配列から要素を削除する
extension Array where Element: Equatable {
    
    mutating func remove(_ element: Element) {
        _ = firstIndex(of: element).flatMap {
            self.remove(at: $0)
        }
    }
}

func binarySearch(rifgt:Int, key:Int, ary:[String]) -> Int{
    var left = 0
    var right = rifgt
    
    while abs(right - left) > 1 {
        let mid = left + (right - left) / 2
        
        if Int(ary[mid])! < key {
            left = mid
            
        } else {
            right = mid
        }
    }
    return left
}

func arrangement (prev:String, ary:[String], returnVal:[String]) -> [String] {
    var returnVal = returnVal
    if ary.count == 0 {
        returnVal.append(prev)
        return returnVal
    }
    
    for s in ary {
        let wprev = prev + s
        var wary = ary
        wary.remove(s)
        returnVal = arrangement(prev: wprev, ary: wary, returnVal: returnVal)
    }
    return returnVal
}

func main() {
    let k = readInt()
    //＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿＿ここまで入力
    
    var mod = 7 % k
    var i = 1
    while mod > 0 && i <= k {
        mod = (mod * 10 + 7) % k
        i += 1
    }
    print(mod == 0 ? i: -1)
    
}
main()
//  [typescript]
import { readFileSync } from "fs";

// eslint-disable-next-line @typescript-eslint/no-unused-vars
const range = (n: number | bigint) => [...Array(Number(n))].map((_, i) => i);
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const tuple = <T extends unknown[]>(...ts: T) => ts;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const [cin, nCin, biCin] = (() => {
  const inputs = readFileSync("/dev/stdin", "utf-8").split(/[\n|\s]+/);
  let count = 0;
  const cin = () => inputs[count++];
  return tuple(
    cin,
    () => Number(cin()),
    () => BigInt(cin())
  );
})();

const getAns = (K: bigint): number => {
  let cnt = 0;
  const hits = new Map<bigint, boolean>();

  let tmp = 7n;
  // eslint-disable-next-line no-constant-condition
  while (true) {
    cnt++;
    const r = tmp % K;

    if (r === 0n) return cnt;
    else if (hits.get(r)) return -1;

    hits.set(r, true);
    tmp = (10n * tmp + 7n) % K;
  }
};

{
  const K = biCin();
  const ans = getAns(K);
  console.log(ans);
}
//  [typescript]
import { readFileSync } from "fs";

// eslint-disable-next-line @typescript-eslint/no-unused-vars
const range = (n: number | bigint) => [...Array(Number(n))].map((_, i) => i);
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const tuple = <T extends unknown[]>(...ts: T) => ts;
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const [cin, nCin, biCin] = (() => {
  const inputs = readFileSync("/dev/stdin", "utf-8").split(/[\n|\s]+/);
  let count = 0;
  const cin = () => inputs[count++];
  return tuple(
    cin,
    () => Number(cin()),
    () => BigInt(cin())
  );
})();

const getAns = (K: number): number => {
  let cnt = 0;
  const hits = new Map<number, boolean>();

  let tmp = 7;
  // eslint-disable-next-line no-constant-condition
  while (true) {
    cnt++;
    const r = tmp % K;

    if (r === 0) return cnt;
    else if (hits.get(r)) return -1;

    hits.set(r, true);
    tmp = (10 * tmp + 7) % K;
  }
};

{
  const K = nCin();
  const ans = getAns(K);
  console.log(ans);
}
//  [python]
def main():
    n = int(input())
    if(n<1200):
        print("ABC")
    else:
        print("ARC")
if __name__ == '__main__':
    main()
//  [python]
# -*- coding: utf-8 -*-
import math
import sys
import itertools
import numpy as np
import functools
import collections
mo = 1000000007
INF = 10**100
r = range

class infix(object):
    def __init__(self, function):
        self.function = function

    def __ror__(self, other):
        self.left = other
        return self

    def __or__(self, other):
        return self.function(self.left, other)

    def __call__(self, value1, value2):
        return self.function(value1, value2)

@infix
def c(f_t_u, f_u_r): return lambda t: f_u_r(f_t_u(t))

class _Ap(object):
    def __rlshift__(self, other):
        self.value = other
        return self

    def __rshift__(self, other):
        return other(self.value)
Ap = _Ap()
ap = Ap

#d = {1:2, 3:5, 6:10, 1000043:3814}
#zip(d.keys(), d.values())<<ap>>(list |c| sorted |c| reversed |c| list |c| print)

n = input()<<ap>>int
print('ABC' if n < 1200 else 'ARC')
//  [python]
import sys, re, os
from collections import deque, defaultdict, Counter
from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians, acos, atan, asin
from itertools import permutations, combinations, product, accumulate
from operator import itemgetter, mul
from copy import deepcopy
from string import ascii_lowercase, ascii_uppercase, digits
from fractions import gcd
def input(): return sys.stdin.readline().strip()
def STR(): return input()
def INT(): return int(input())
def MAP(): return map(int, input().split())
def S_MAP(): return map(str, input().split())
def LIST(): return list(map(int, input().split()))
def S_LIST(): return list(map(str, input().split()))
sys.setrecursionlimit(10 ** 9)
inf = sys.maxsize
mod = 10 ** 9 + 7
dx = [0, 0, 1, -1, 1, -1, -1, 1]
dy = [1, -1, 0, 0, 1, -1, 1, -1]

x = INT()
if x < 1200:
    print('ABC')
else:
    print('ARC')
//  [java]
import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		int x = sc.nextInt();
		if (x < 1200) {
			System.out.println("ABC");
		} else {
			System.out.println("ARC");
		}
	}

	private static boolean isDebug = System.getProperty("sun.desktop") != null;

	private static void debug(Object... o) {
		if (isDebug) {
			System.err.println(Arrays.deepToString(o));
		}
	}
}
//  [java]
import java.util.Scanner;
public class Main {
	public static void main(String[] args){
		Scanner as = new Scanner(System.in);
		long n=as.nextLong();
		//long l=0;
		if(n<1200){
			System.out.println("ABC");
		}else{
			System.out.println("ARC");
		}
	}
}
//  [java]
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int s=sc.nextInt();
String m;
if(s<1200)m="ABC"; else m="ARC";
System.out.println(m);
}
}
//  [cpp]
#include <bits/stdc++.h>

#define mp make_pair
#define pb push_back
#define REP(i,a,n) for(int i = a;i < (n);i++)
#define RREP(i,a) for(int i = a;i >= 0;i--)
#define rep(i,n) for(int i = 0;i < (n);i++)
#define rrep(i,n) for(int i = n - 1;i >= 0;i--)
#define all(s) s.begin(), s.end()
#define rall(s) s.rbegin(), s.rend()
#define range(x,min,max) ((min) <= (x) && (x) <= (max))
#define xyrange(x, minX, maxX, y, minY, maxY) (range(x, minX, maxX) && range(y, minY, maxY))

using namespace std;

typedef long long LL;
typedef vector<int> VI;
typedef vector<vector<int> > VVI;
typedef vector<string> VS;
typedef vector<bool> VB;
typedef pair<int,int> PII;
typedef vector<PII> VPII;


const int DX[]={1,0,-1,0},DY[]={0,-1,0,1};
const int INF = 0x3f3f3f3f;

int rate;

int main(){
	cin.tie(0);
   	ios::sync_with_stdio(false);
	cin >> rate;
	cout << (rate >= 1200? "ARC" : "ABC") << endl;
	return 0;
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;

int main() {
    int N; scanf("%d", &N);
    if (N < 1200) printf("ABC\n");
    else printf("ARC\n");
    return 0;
}
//  [cpp]
#include <iostream>
#include <cstdio>
#include <fstream>
#include <algorithm>
#include <vector>
#include <string>
#include <set>
#include <map>
#include <utility>
#include <stack>
#include <queue>
#include <sstream>
#include <fstream>
#include <cstring>

using namespace std;
#define int long long

signed main()
{
	int x;
	cin >> x;
	if (x < 1200) cout << "ABC" << endl;
	else cout << "ARC" << endl;
}
//  [c]
#include <stdio.h>
int main(void){
    int x;
    
    scanf("%d", &x);
    
    if(x < 1200){
        printf("ABC\n");
    }else if(x >= 1200){
        printf("ARC\n");
    }
}
//  [c]
#include<stdio.h>
int main(){
  int x;
  scanf("%d",&x);
  printf("%s\n",x<1200?"ABC":"ARC");
  return 0;
}
//  [c]
main(x){scanf("%d",&x);puts(x<1200?"ABC":"ARC");}
//  [javascript]
'use strict'

const main = (input) => {
    const x = parseInt(input)
    if(x < 1200){
        console.log('ABC')
    }else{
        console.log('ARC')
    }
}

main(require('fs').readFileSync('/dev/stdin', 'utf-8'))
//  [javascript]
function Main(input) {
     var n = parseInt(input);
     if(n<1200){
          console.log("ABC")
     }else{
          console.log("ARC")
     }
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [javascript]
function main(input) {
  input=input.trim();
  const x = parseInt(input.split(" ")[0], 10);
  if(x<1200){
    console.log("ABC");
  }else{
    console.log("ARC");
  }
}



main(require('fs').readFileSync('/dev/stdin', 'utf8'));
//  [go]
package main

import "fmt"

func main() {
	var (
		x int
	)

	fmt.Scan(&x)

	if x < 1200 {
		fmt.Print("ABC")
	} else if x >= 1200 {
		fmt.Print("ARC")
	} else {
		fmt.Print("error")
	}
}
//  [go]
package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

var sc = bufio.NewScanner(os.Stdin)

func Scanner() string {
	sc.Scan()
	return sc.Text()
}

func intScanner() int {
	n, _ := strconv.Atoi(Scanner())
	return n
}

func floatScanner() float64 {
	n, _ := strconv.ParseFloat(Scanner(), 64)
	return n
}
func stringToInt(s string) int {
	n, _ := strconv.Atoi(s)
	return n
}
func stringSliceScanner(n int) []string {
	a := make([]string, n)
	for i := 0; i < n; i++ {
		a[i] = Scanner()
	}
	return a
}
func intSliceScanner(n int) []int {
	a := make([]int, n)
	for i := 0; i < n; i++ {
		a[i] = intScanner()
	}
	return a
}
func larger(a, b int) int {
	if a < b {
		return b
	} else {
		return a
	}
}
func smaller(a, b int) int {
	if a > b {
		return b
	} else {
		return a
	}
}
func max(a []int) int {
	x := a[0]
	for i := 0; i < len(a); i++ {
		if x < a[i] {
			x = a[i]
		}
	}
	return x
}
func min(a []int) int {
	x := a[0]
	for i := 0; i < len(a); i++ {
		if x > a[i] {
			x = a[i]
		}
	}
	return x
}
func abs(x int) int {
	if x < 0 {
		x = -x
	}
	return x
}

var mod int = 1000000007

func main() {
	buf := make([]byte, 0)
	sc.Buffer(buf, mod)
	sc.Split(bufio.ScanWords)
	x := intScanner()
	if x < 1200 {
		fmt.Println("ABC")
	} else {
		fmt.Println("ARC")
	}
}
//  [go]
package main

import (
  "fmt"
)

func main() {
  var x int
  
  fmt.Scanf("%d", &x)
  
  ans := "ARC"
  if x < 1200 {
    ans = "ABC"
  }
    fmt.Printf("%s", ans)
}
//  [ruby]
puts gets.chomp.to_i < 1200 ? "ABC" : "ARC"
//  [ruby]
x=gets.to_i
puts x<1200 ? "ABC" : "ARC"
//  [ruby]
x = gets.to_i
puts x < 1200 ? "ABC" : "ARC"
//  [rust]
use proconio::{input, fastout};
use proconio::marker::{Chars};
use proconio::marker::Usize1;
use std::cmp::*;

macro_rules! debug {
      ($($a:expr),*) => {
          eprintln!(concat!($(stringify!($a), " = {:?}, "),*), $($a),*);
    }
}

#[fastout]
fn main() {
    input!{
        x: usize,
    }
    if x<1200 {
        println!("ABC");
    } else {
        println!("ARC");
    }
}
//  [rust]
#![allow(non_snake_case)]
#![allow(unused_imports)]

use proconio::{input, fastout};
use proconio::marker::*;
use whiteread::parse_line;
use std::collections::*;
use num::*;
use num_traits::*;
use superslice::*;
use std::ops::*;

use itertools::Itertools;
use itertools_num::ItertoolsNum;

#[fastout]
fn main() {
    input!{
        x: usize,
    }

    let contest = if x < 1200 {"ABC"} else {"ARC"};

    println!("{}", contest);
}
//  [rust]
use proconio::input;

// use std::cmp::*;
// use std::collections::*;
// use proconio::marker::Chars;

fn main() {
    input! {
        // s: String
        // n: isize
        x:i32,
    }
    println!("{}", if x<1200 {"ABC"}else{"ARC"});
}
//  [typescript]
import * as fs from 'fs';

const x: number = +fs.readFileSync('/dev/stdin', 'utf8').trim();
console.log(x < 1200 ? 'ABC' : 'ARC');
//  [typescript]
import * as process from "process";
import * as readline from "readline";

process.stdin.resume();
process.stdin.setEncoding('utf8');

let lines = []
let reader = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

reader.on('line', line => {
    lines.push(line);
});

reader.on('close', () => {
    let x = parseInt(lines[0]);
    if (x < 1200) {
        console.log("ABC");
    } else {
        console.log("ARC");
    }
});
//  [typescript]
import { readFileSync } from "fs";

const read = () =>
  readFileSync(0, "utf8")
    .split("\n")
    .map((line) => line.split(" "));

const main = (input: string[][]) => {
  const x = Number(input[0][0]);

  return x < 1200 ? "ABC" : "ARC";
};

console.log(main(read()));
//  [python]
n = int(input())
x_1 = int(n/1.08)
x_2 = int(n/1.08)+1
if int(x_1*1.08) == n:
  print(x_1)
elif int(x_2*1.08) == n:
  print(x_2)
else:
  #print(x_1,x_2)
  print(":(")
//  [python]
import math
n = int(input())
x = math.ceil(n /1.08)

if int(math.floor(x*1.08)) == n :
    print(int(x))
else:
    print(':(')
//  [python]
n = int(input())

a = n//1.08
#print(a)
#print(a*1.08,int(a*1.08//1))
#print((a+1)*1.08,int((a+1)*1.08//1))
if int(a*1.08//1) == n:
	print(int(a))
elif int((a+1)*1.08//1) == n:
	print(int(a+1))
else:
	print(":(")
//  [python]
import numpy as np
def main():
    N = int(input())
    ans = 0
    for x in range(50000):
        x += 1
        if np.floor(x * 1.08) == N:
            ans = x
            break
        if x == 50000 and ans == 0:
            ans = ":("
    
    print(ans)

if __name__ == '__main__':
    main()
//  [python]
import collections
import itertools as it
import math
import numpy as np

# A = input()
# A = int(input())
# A = map(int, input().split())
# A = list(map(int, input().split()))
# A = [int(input()) for i in range(N)]
#
# c = collections.Counter()

N = int(input())
if int(math.ceil(N / 1.08) * 1.08) == N:
    print(int(math.ceil(N / 1.08)))
else:
    print(":(")
//  [python]
import numpy as np
N = int(input())
X1 = N//1.08
X2 = (N+1)//1.08
if (int(X1) == int(X2)) and (int(X1)*1.08!=N):
  print(":(")
else:
  print(int(X2))
//  [java]
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String[] args) throws Exception {
        InputStreamReader is = new InputStreamReader(System.in);
        BufferedReader reader = new BufferedReader(is);

        List<String> mylist = new ArrayList<>();

        // 標準入力からの値を変数strinputに代入
        String strinput = reader.readLine();

        while (strinput != null) {

            mylist.add(strinput);
            strinput = reader.readLine();

        }
        String arr01[] = mylist.get(0).split(" ");

        int n = Integer.valueOf(arr01[0]);

        double temp = n / 1.08;
        int zeinuki = (int) temp;

        double temp2 = zeinuki * 1.08;
        int zeikomi1 = (int) temp2;
        double temp3 = (zeinuki + 1) * 1.08;
        int zeikomi2 = (int) temp3;

        if (n == zeikomi1) {
            System.out.println(zeinuki);
        } else if (n == zeikomi2) {
            System.out.println(zeinuki + 1);
        } else {
            System.out.println(":(");
        }

    }

}
//  [java]
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws Exception {
		// TODO 自動生成されたメソッド・スタブ
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String W = in.readLine();

		long N = Long.parseLong(W);

		String ans = ":(";

		for(int i=1;i<50000;i++){
			if(N==(long)(i*1.08)){
				ans = String.valueOf(i);
				break;
			}
		}



		System.out.println(ans);



	}


}
//  [java]
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.lang.*;

public class Main{
	public static void main(String[] args) {
		FastScanner sc = new FastScanner();
		int n = sc.nextInt();
		for (double i = 1; i <= n; i++) {
			if ((int)(i * 1.08) == n) {
				System.out.println((int)i);
				return;
			}
		}
		System.out.println(":(");
	}
}

class FastScanner {
	private final InputStream in = System.in;
	private final byte[] buffer = new byte[1024];
	private int ptr = 0;
	private int buflen = 0;
	private boolean hasNextByte() {
		if (ptr < buflen) {
			return true;
		} else {
			ptr = 0;
			try {
				buflen = in.read(buffer);
			} catch (IOException e) {
				e.printStackTrace();
			}
			if (buflen <= 0) {
				return false;
			}
		}
		return true;
	}
	private int readByte() {
		if (hasNextByte()) {
			return buffer[ptr++];
		} else {
			return -1;
		}
	}
	private static boolean isPrintableChar(int c) {
		return 33 <= c && c <= 126;
	}
	public boolean hasNext() {
		while (hasNextByte() && !isPrintableChar(buffer[ptr])) {
			ptr++;
		}
		return hasNextByte();
	}
	public String next() {
		if (!hasNext()) {
			throw new NoSuchElementException();
		}
		StringBuilder sb = new StringBuilder();
		int b = readByte();
		while (isPrintableChar(b)) {
			sb.appendCodePoint(b);
			b = readByte();
		}
		return sb.toString();
	}
	public long nextLong() {
		if (!hasNext()) {
			throw new NoSuchElementException();
		}
		long n = 0;
		boolean minus = false;
		int b = readByte();
		if (b == '-') {
			minus = true;
			b = readByte();
		}
		if (b < '0' || '9' < b) {
			throw new NumberFormatException();
		}
		while (true) {
			if ('0' <= b && b <= '9') {
				n *= 10;
				n += b - '0';
			} else if (b == -1 || !isPrintableChar(b)) {
				return minus ? -n : n;
			} else {
				throw new NumberFormatException();
			}
			b = readByte();
		}
	}
	public int nextInt() {
		long nl = nextLong();
		if (nl < Integer.MIN_VALUE || Integer.MAX_VALUE < nl) {
			throw new NumberFormatException();
		}
		return (int) nl;
	}
	public double nextDouble() {
		return Double.parseDouble(next());
	}
}
//  [java]
/* package codechef; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
public class Main
{
	public static void main (String[] args) throws java.lang.Exception
	{
		Scanner s=new Scanner(System.in);
		long n=s.nextLong();
		double kk=(n/1.08);
		long k=(long)kk;
		if((long)(k*1.08)==n)
		System.out.println(k);
		else if((long)((k+1)*1.08)==n)
		System.out.println(k+1);
		else
		System.out.println(":(");
	}
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;
double tx=1.08;
int a;
int main(){
    cin>>a;
for(double k=1;k<=50000;k++){
   double val=k*tx;

   int h=(int)val;

   if(h==a){
    cout<<k;
    return 0;
   }
}
cout<<":(";
return 0;
}
//  [cpp]
#include <bits/stdc++.h>
#define be(v) (v).begin(),(v).end()
#define pb(q) push_back(q)
typedef long long ll;
using namespace std;
const ll mod=1000000007;
#define doublecout(a) cout<<fixed<<setprecision(10)<<a<<endl;

int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);
    double n;
    cin>>n;
    double m=n;
    int unko=int(m);

    for(double i=0.0;i<=n;i+=1){
        double maki=i;

        if(int(maki*1.08)==unko){
            cout << int(i)<<endl;
            return 0;
        }
    }
    cout<< ":("<<endl;
    
    return 0;
}
//  [cpp]
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
 
using namespace std;
using namespace __gnu_pbds;
 
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define fbo find_by_order
#define ook order_of_key
 
typedef long long ll;
typedef pair<int,int> ii;
typedef vector<int> vi;
typedef long double ld; 
typedef tree<ii, null_type, less<ii>, rb_tree_tag, tree_order_statistics_node_update> pbds;

int main()
{
	ios_base::sync_with_stdio(0); cin.tie(0);
	int n; cin>>n;
	for(int i=0;i<=55555;i++)
	{
		int aft = (i*108)/100;
		if(aft==n)
		{
			cout<<i<<'\n'; return 0;
		}
	}
	cout<<":(\n";
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;

int bye(double a){
  int i=0;
  while(i<=a){
    i++;
  }
  return i-1;
}

int main(){
  int N;
  cin >> N;
  for(int i=0; i<=N; i++){
    if(bye(i*1.08)==N){
      cout << i << endl;
      return 0;
    }
  }
  cout << ":(" << endl;
  return 0;
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;

int fn(int x){
  double a;
  a = x * 1.08;
  int ans = x;
  for(int i=0;i<=x;i++){
    ans++;
    if(ans == a){
      break;
    }
    else if(ans > a){
      ans--;
      break;
    }
  }
  
  return ans;
}

int main() {
  int n;
  cin >> n;
  int ans = -1;
  for(int i = n;i>0;i--){
    if(fn(i) == n){
      ans = i;
      break;
    }
  }
  
  if(ans >0) cout << ans << endl;
  else cout << ":(" << endl;

  return 0;
}
//  [cpp]
#include <bits/stdc++.h>
using namespace std;
//型に気を付けよう

#define rep(i,n) for(int i=0;i<n;i++)

//桁数指定　cout << fixed << setprecision(2)
int main() {
  int x;
  cin>>x;
  int ans=-1;
  int i=2;
  for(i=0;i<50010;i++){ 
    if(x<=(i*1.08)&&(i*1.08)<x+1){cerr<<"!";
      ans=i;break;
     }
    cerr<<"LOOP"<<i<<endl;
  }
  cerr<<ans;
  if(ans+1)cout<<ans;
  if(ans==-1) cout<<":("<<endl;
}
//  [c]
#include<stdio.h>
#include<stdlib.h>
int main(){
  int n;
  scanf("%d", &n);
  int choise = n/1.08;
  if((int)(choise*1.08) == n){
	  printf("%d",choise);
  }else if((int)((choise+1)*1.08) == n){
	  printf("%d",choise+1);
  }else
	  puts(":(");
}
//  [c]

#include <stdio.h>

int main(){
	int i;
	int flag = 0;
	int N;
	scanf("%d",&N);
	for(i=0;i<=50000;i++){
		if((int)(i*1.08)==N){
			flag = 1;
			break;
		}
	}
	if(flag==1)
		printf("%d",i);
	else
		printf(":(");
}
//  [c]
#include <stdio.h>
#include <math.h>

int main(void){
  float x1,x2=0;
  int n;
  
  scanf("%d", &n);
  /*
  x1 = n/1.08;
  x2 = (n+1)/1.08;
  for(int i=ceil(x1);i<=ceil(x2);i++){
    if(ceil(i) ==floor(i)){
      printf("%d", i);
      return 0;
    }
  }
  */
  
  for(int i=1;i<=n;i++){
    if((floor)(i*1.08)==n){
         printf("%d", i);
      return 0;
    }
  }
  

      
       
       
        printf(":(\n");

  /*
  if(ceil(ceil(x1)) != floor(ceil(x))){
  }
  else          printf("%.0f",x);

*/


  return 0;
}
//  [c]
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define rep(i,n) for(int i=0;i<n;i++)
int gcd(int a, int b){
    int r=1;
    while(r!=0){
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}
void revStr(char* str){
    int size = strlen(str);
    int i,j;
    char tmp = {0};
    for(i = 0, j = size - 1; i < size / 2; i++, j--){
        tmp = str[i];
        str[i] = str[j];
        str[j] = tmp;
    }return;
}
struct data{
    int a,b,c;
};

//降順
int compare_int(const void *a, const void *b)
{
    return *(int*)b - *(int*)a;
}
#define MAXSIZE 200000
int list[MAXSIZE];
int tail;

void Init(void){
    tail=0;
}
int Top(void){
    return 0;
}

int Next(int pos){
    if(pos<tail-1){
        return pos+1;
    }else{
        return -1;
    }
}
int Count(void){
    return tail;
}

int Item(int pos){
    if((pos>=0)&&(pos<tail)){
        return list[pos];
    }else{
        return 0;
    }
}
void Add(int value){
    if(tail<MAXSIZE){
        list[tail]=value;
        tail++;
    }
}
void Delete(int pos){
    if((pos>=0)&&(pos<tail)){
        int i;
        for(i=pos;i<tail-1;i++){
            list[i]=list[i+1];
        }
        tail--;
    }
}

int main(){
    int N;
    scanf("%d",&N);
    for(int i=1;i<=N;i++){
        if((int)(i*1.08)==N){
            printf("%d",i);
            return 0;
        }
    }
    printf(":(");
}
//  [c]
#include <stdio.h>

int main(){
    int n;

    scanf("%d", &n);

    int x = 0;
    int flag = 0;
    for(x = 0; ; ++x){
        if((int)(x * 1.08) == n){
            flag = 1;
            break;
        }else if(x > n) break;
    }

    if(flag == 1) printf("%d\n", x);
    else printf(":(\n");

    return 0;
}
//  [javascript]
// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
  input = input.split("\n");
  
  //スペース区切り　input[0] が tmp[0], tmp[1],...
	n = input[0].split(" ");
  
  //この時点では全部文字列（数値に変換しないといけない）

	//文字列から10進数に変換するときはparseIntを使います
	var x = n*(100/108);
    var xx = Math.ceil(x);

    if(Math.floor(xx*108/100) == n){
      console.log('%d', xx);
    }else{
      console.log('%s', ':(');
    }

}

//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [javascript]
function Main(N) {
var O =  Math.floor(N/1.08);
  if(Math.floor(O*1.08) == N){
    console.log(O);
  }else if(Math.floor((O+1)*1.08) == N){
    console.log(O+1);
  }else{
    console.log(":(")
  }
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
//  [javascript]
"use strict";
const Main = function(input){
   let xs = input.trim().split(' ').map(v=>parseInt(v,10));
   let tax =1.08;
   let ans1=Math.floor(xs[0]/tax);  
   if(Math.floor(ans1*tax)==xs[0]||Math.floor((ans1+1)*tax)==xs[0]){
   console.log(Math.ceil(xs[0]/tax));
   }else{
   console.log(":(");
   }  
}
Main(require('fs').readFileSync('/dev/stdin','utf8'));
//  [javascript]
inp = require('fs').readFileSync('/dev/stdin', 'utf8').trim().split('\n')
N = inp.shift() * 1
X1 = Math.floor(N / 1.08)
X2 = Math.ceil(N / 1.08)
f = 0
for (i=X1;i<=X2;i++) {
    if (N == Math.floor(i * 1.08)) {
        X = i
        f = 1
        break;
    }
}
console.log(f ? X : ':(')
//  [javascript]
function myin(){return require("fs").readFileSync("/dev/stdin", "utf8").trim();}
function myout(t){console.log(t);}//standard output
//[no]param
//0:何もしない  1:数値へ変換  2:半角SPで分割  3:改行で分割  4:半角SPで分割し、数値配列へ
//5:改行で分割し、数値配列へ  6:1文字に分割  7:1文字に分割し、数値配列へ
function myconv(i,no){switch(no){case 0:return i;case 1:return parseInt(i);case 2:return i.split(" ");case 3:return i.split("\n");case 4:return i.split(" ").map((a)=>Number(a));case 5:return i.split("\n").map((a)=>Number(a));case 6:return i.split("");case 7:return i.split("").map((a)=>Number(a));}}

function Main(input) {
  input = myconv(input,1);
  var genka1 = Math.floor(input / 1.08);
  var genka2 = Math.ceil(input / 1.08);
  var tmp1 = Math.floor(genka1 * 1.08);
  var tmp2 = Math.floor(genka2 * 1.08);
  if(input == tmp1){
     myout(genka1);
  }else if(input == tmp2){
    myout(genka2);
  }else{
    myout(":(");
  }
}

Main(myin());
//  [javascript]
"use strict";
var GET=(function(){function f(s){return new g(s);}function g(s){this._s=s.trim().split("\n");this._y=0;}g.prototype.a=function(f){var s=this._s, y=this._y, r;if(typeof s[y]==="string")s[y]=s[y].split(" ").reverse();r=s[y].pop();if(!s[y].length)this._y++;return f?r:+r;};g.prototype.l=function(f){var s=this._s[this._y++].split(" ");return f?s:s.map(a=>+a);};g.prototype.m=function(n,f){var r=this._s.slice(this._y,this._y+=n).map(a=>a.split(" "));return f?r:r.map(a=>a.map(a=>+a));};g.prototype.r=function(n,f){var r=this._s.slice(this._y,this._y+=n);return f?r:r.map(a=>+a);};return f;})();
var o=GET(require("fs").readFileSync("/dev/stdin","utf8"));
function xArray(v){var a=arguments,l=a.length,r="Array(a["+--l+"]).fill(0).map(x=>{return "+v+";})";while(--l)r="Array(a["+l+"]).fill(0).map(x=>"+r+")";return eval(r);}

console.log(main());
function main(){
  var n = o.a();
  for(var i = 1; i <= n; i++){
    if(Math.floor(i*1.08) === n)return i;
  }
  return ":(";
}
//  [go]
package main

import (
	"fmt"
)

func main() {
	var n int
	fmt.Scanf("%d", &n)

	rate := 1.08

	res := float64(n) / 1.08
	t1 := int(res)
	if int(float64(t1) * rate) == n {
		fmt.Println(t1)
	} else if int(float64(t1 + 1) * 1.08) == n {
		fmt.Println(t1 + 1)
	} else {
		fmt.Println(":(")
	}
}
//  [go]
package main

import (
	"fmt"
	"math"
)

func main() {
	var n float64
	fmt.Scan(&n)
	x := n / 1.08
	if math.Floor(math.Ceil(x)*1.08) == n {
		fmt.Println(math.Ceil(x))
	} else {
		fmt.Println(":(")
	}
}
//  [go]
package main

import (
	"bufio"
	"fmt"
	"io"
	"os"
	"strconv"
)

func main() {
	resolve(parseProblem(os.Stdin))
}

func parseProblem(r io.Reader) int {
	const (
		initialBufSize = 100000
		maxBufSize     = 1000000
	)
	buf := make([]byte, initialBufSize)

	sc := bufio.NewScanner(r)
	sc.Buffer(buf, maxBufSize)
	sc.Split(bufio.ScanWords) // bufio.ScanLines

	return scanInt(sc)
}

func resolve(n int) {
	for i := 1; i <= n; i++ {
		if int(float64(i)*1.08) == n {
			fmt.Println(i)
			return
		}
	}
	fmt.Println(":(")
	return
}

// snip-scan-funcs
func scanInt(sc *bufio.Scanner) int {
	sc.Scan()
	i, _ := strconv.Atoi(sc.Text())
	return int(i)
}
func scanString(sc *bufio.Scanner) string {
	sc.Scan()
	return sc.Text()
}
//  [go]
package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

const maxBuf = 200100

var debug = false

var buf []byte = make([]byte, maxBuf)
var sc = bufio.NewScanner(os.Stdin)

func init() {
	if debug {
		testFile, _ := os.Open("./test/in22.in")
		sc = bufio.NewScanner(testFile)
	}
	sc.Split(bufio.ScanWords)
	sc.Buffer(buf, maxBuf)
}

func readString() string {
	sc.Scan()
	return sc.Text()
}

func readInt() int {
	sc.Scan()
	r, _ := strconv.Atoi(sc.Text())
	return r
}

func readFloat64() float64 {
	sc.Scan()
	r, _ := strconv.ParseFloat(sc.Text(), 64)
	return r
}

/* #### main #### */
func main() {
	n := readInt()

	x := make([]int, 50000+1)
	for i := 0; i < 46297+1; i++ {
		x[int(float64(i)*1.08)] = i
	}

	if x[n] == 0 {
		fmt.Println(":(")
	} else {
		fmt.Println(x[n])
	}
}
//  [go]
package main

import (
	"bufio"
	"fmt"
	"os"
	"strconv"
)

var sc = bufio.NewScanner(os.Stdin)

func Scan() string {
	sc.Scan()
	return sc.Text()
}
func iScan() int {
	n, _ := strconv.Atoi(Scan())
	return n
}
func fScan() float64 {
	n, _ := strconv.ParseFloat(Scan(), 64)
	return n
}
func stringToInt(s string) int {
	n, _ := strconv.Atoi(s)
	return n
}
func SScan(n int) []string {
	a := make([]string, n)
	for i := 0; i < n; i++ {
		a[i] = Scan()
	}
	return a
}
func iSScan(n int) []int {
	a := make([]int, n)
	for i := 0; i < n; i++ {
		a[i] = iScan()
	}
	return a
}
func abs(x int) int {
	if x < 0 {
		x = -x
	}
	return x
}
func larger(a, b int) int {
	if a < b {
		return b
	} else {
		return a
	}
}
func smaller(a, b int) int {
	if a > b {
		return b
	} else {
		return a
	}
}
func max(a []int) int {
	x := a[0]
	for i := 0; i < len(a); i++ {
		if x < a[i] {
			x = a[i]
		}
	}
	return x
}
func min(a []int) int {
	x := a[0]
	for i := 0; i < len(a); i++ {
		if x > a[i] {
			x = a[i]
		}
	}
	return x
}
func sum(a []int) int {
	x := 0
	for _, v := range a {
		x += v
	}
	return x
}

var mod int = 1000000007

func main() {
	buf := make([]byte, 0)
	sc.Buffer(buf, mod)
	sc.Split(bufio.ScanWords)
	n := iScan()
	ans := -1
	for i := 1; i <= n; i++ {
		if i*108/100 == n {
			ans = i
			break
		}
	}
	if ans == -1 {
		fmt.Println(":(")
	} else {
		fmt.Println(ans)
	}
}
//  [ruby]
n = gets.to_i
x = n / 1.08
(x.floor..x.ceil).each do |i|
  if (i * 1.08).floor == n
    puts i
    exit
  end
end

puts ':('
//  [ruby]
x = gets.to_f
res = (x / 1.08).floor.to_i
cands = [res - 1, res, res + 1]
res = cands.find { |i| (i * 1.08).to_i == x.to_i }
if res.nil?
  puts ":("
else
  puts res
end
//  [ruby]
n = gets.chomp
a1 = n.to_i
a2 = a1 + 0.9999999
ans1 = ((a1 * 100) /108.to_f)
an1 = ans1.ceil
ans11 = (ans1.ceil).to_s
ans2 = (a2 * 100) / 108.to_f
an2 = ans2.ceil
ans22 = (ans2.floor).to_s
if ans11 == ans22 
    puts ans11
else
    puts ":("
end
//  [ruby]
n = gets.to_i
(1..50000).each do |i|
  if i * 108 / 100 == n
    puts i
    exit
  end
end
puts ":("
//  [ruby]
n = gets.to_i

1.upto(50000*1.1) do |x|
  if n == (x*1.08).floor
    print x
    exit
  end
end

print ":("
//  [ruby]
#exec({'RUBY_THREAD_VM_STACK_SIZE'=>'100000000'},'/usr/bin/ruby', $0) if !ENV['RUBY_THREAD_VM_STACK_SIZE']

require 'prime'

def inpf() a=gets.chomp.split(" ").map(&:to_f)end

def inps() a=gets.chomp.split(" ")end

def copy(a) Marshal.load(Marshal.dump(a)) end

def kaijo(n,r = 10**9+7)(n < 2)? 1 : (2..n).inject{|memo,u|memo=(memo*u)%r} end

def na(n,d=0) Array.new(n,d)end

def na2(n,m,d=0) Array.new(n){Array.new(m,d)}end

def na3(n,m,l,d=0) Array.new(n){Array.new(m){Array.new(l,d)}}end

def inp() a=gets.chomp.split(" ").map(&:to_i)end

def r_up(a, b) (a+b-1)/b end

def sum(a) a.inject(:+) end

def big(a,b) return (a>b)? a:b end

def small(a,b) return (a<b)? a:b end

n = inp[0]
(1..50000).each do |d|
  ko = (d*1.08).floor
  if(n == ko)
    puts d
    exit
  end
end
puts ":("
//  [rust]

fn main(){
    let n: i32 = read();

    for x in 0..n+1 {
        if (x as f64 * 1.08) as i32 == n {
            println!("{}", x);
            return
        }
    }
    println!(":(");
}

use std::io::stdin;
use std::io::Read;
use std::str::FromStr;

pub fn read<T: FromStr>() -> T {
    let cin = stdin();
    let cin = cin.lock();
    let token: String = cin
        .bytes()
        .map(|c| c.expect("failed to read char") as char)
        .skip_while(|c| c.is_whitespace())
        .take_while(|c| !c.is_whitespace())
        .collect();
    token.parse().ok().expect("failed to parse token")
}