Problem:


Score : 100 points

Problem Statement

Takahashi wants to print a document with N pages double-sided, where two pages of data can be printed on one sheet of paper.

At least how many sheets of paper does he need?

Constraints

N is an integer.

1 \leq N \leq 100

Input

Input is given from Standard Input in the following format:

N

Output

Print the answer.

Sample Input 1

5

Sample Output 1

3

By printing the 1-st, 2-nd pages on the 1-st sheet, 3-rd and 4-th pages on the 2-nd sheet, and 5-th page on the 3-rd sheet, we can print all the data on 3 sheets of paper.

Sample Input 2

2

Sample Output 2

1

Sample Input 3

100

Sample Output 3

50



Sample input:
5


Sample output:
3

Submission status: Accepted

Solution code:
#!/usr/bin/env python3
import sys


def solve(N: int):
    ans = N // 2 + N % 2
    print(ans)

def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  # type: int
    solve(N)

if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
a = int(input())
print(-(-a // 2))

Submission status: Accepted

Solution code:
N = int(input())
if N%2==0:
    print(N//2)
else:
    print(N//2 + 1)

Submission status: Accepted

Solution code:
N = int(input())

if N % 2 == 1:
    print(N//2 + 1)
else:
    print(N//2)

Submission status: Accepted

Solution code:
from sys import stdin


def main():
    N = int(stdin.readline().rstrip())
    print(N // 2 + N % 2)


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
n = int(input())

if n%2 == 0:
    print(int(n/2))
else:
    print(int(n/2) + 1)

Submission status: Accepted

Solution code:
n = int(input())

if n % 2 != 0:
    print(n//2+1)
else:
    print(n//2)

Submission status: Accepted

Solution code:
n = int(input())

if n%2 != 0:
  print(int(n/2)+1)
else:
  print(int(n/2))

Submission status: Accepted

Solution code:
N = int(input())

if N%2 ==0:
    ans =int(N/2)
else:
    ans =int(N//2 + 1)
    
    
print(ans)

Submission status: Accepted

Solution code:
if __name__ == '__main__':
    a = int(input())
    n = 0
    if a % 2 == 1:
        n = a// 2 +1
    else:
        n= a //2

    print(n)

Submission status: Accepted

Solution code:
import math
N = float(input())
print(math.ceil(N/2))

Submission status: Accepted

Solution code:
def resolve():
    N = int(input())  

    print(-(-N//2))
 
if __name__ == "__main__":
    resolve()

Submission status: Accepted

Solution code:
n = int(input())
print(int((n+1)//2))

Submission status: Accepted

Solution code:
N = int(input())
# N, X = [int(i) for i in input().split()]

if N%2:
    print(N//2 + 1)
else:
    print(N//2)

Submission status: Accepted

Solution code:
N = int(input())
ans = (-N) // 2 * -1
print(ans)

Submission status: Accepted

Solution code:
a = int(input())
if a % 2 == 0:
    b = int(a / 2)
else:
    b = int(int(a / 2) + 1)

print(b)

Submission status: Accepted

Solution code:
#!/usr/bin/env python3

import sys

DEBUG = False

def solve():
    return


def read_int_list(sep = " "):
    return [int(s) for s in sys.stdin.readline().rstrip().split(sep)]

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

def dprint(*args, **kwargs):
    if DEBUG:
        print(*args, **kwargs)
    return

def divceil(a, b):
    return (a + b - 1) // b

def main():
    n = read_int()
    print(divceil(n, 2))


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
n=int(input())
print("{}".format((n+1)//2))

Submission status: Accepted

Solution code:
N=int(input())

if N % 2 == 1:
  print(N//2+1)
else:
  print(N//2)

Submission status: Accepted

Solution code:
n = int(input())
print(int((n + 2 -1) /2))

Submission status: Accepted

Solution code:
N = int(input())

if N%2==0:
    print(N//2)
else:
    print(N//2 + 1)

Submission status: Accepted

Solution code:
n=int(input())
if n%2==1:
    print(int((n+1)/2))
else:
    print(int(n/2))

Submission status: Accepted

Solution code:
N = int(input())

n = int(N / 2 + 0.5)

print(n)

Submission status: Accepted

Solution code:
N = int(input())

print((N-1)//2 +1)

Submission status: Accepted

Solution code:
n = int(input())

if n % 2 == 0:
  print(n // 2)
else:
  print(n//2 + 1)

Submission status: Accepted

Solution code:
n = int(input())
print(n//2 if n%2==0 else (n//2)+1)

Submission status: Accepted

Solution code:
N = int(input())
if N % 2 == 0:
  print(int(N / 2))
else:
  print(int(N / 2 + 1))

Submission status: Accepted

Solution code:
# cook your dish here
n=int(input())
if(n%2==0):
  print(n//2)
else:
  print(n//2+1)

Submission status: Accepted

Solution code:
N = int(input())
print(str(N//2+N%2))

Submission status: Accepted

Solution code:
n = int(input())
print((n//2)+n%2)

Submission status: Accepted

Solution code:
n=int(input())
if(n%2):
  print(n//2+1)
else:
  print(n//2)

Submission status: Accepted

Solution code:
n=int(input())
ans=0
if n%2 ==0:
    ans=n//2
else:
    ans=n//2+1
print(ans)

Submission status: Accepted

Solution code:
inpu = int(input())
print(int((inpu + 1) / 2))

Submission status: Accepted

Solution code:
N=int(input())
print(-(-N // 2))

Submission status: Accepted

Solution code:
n=int(input())
print(-(n//-2))

Submission status: Accepted

Solution code:
n = int(input());

print((n+1)//2);

Submission status: Accepted

Solution code:
n=int(input())
if n % 2 != 0:
    print(n//2 + 1)
else:
    print(int(n/2))

Submission status: Accepted

Solution code:
N = int(input())

if N % 2 == 0:
    print(N // 2)
else:
    print(N//2 + 1)

Submission status: Accepted

Solution code:
N = int(input())

if N % 2 == 0:
    print(N // 2)
else:
    print(N //2 + 1)

Submission status: Accepted

Solution code:
n = int(input())

if n % 2 == 0:
    print(int(n * 0.5))
elif n % 2 == 1:
    print(int(n * 0.5) + 1)

Submission status: Accepted

Solution code:
#coding:utf-8
n = int(input())

print(-(-n//2))

Submission status: Accepted

Solution code:
n=int(input())
print((n+2-1)//2)

Submission status: Accepted

Solution code:
n=int(input())

if n%2==0:
    print(int(n/2))
if n%2==1:
    print(int((n+1)/2))

Submission status: Accepted

Solution code:
A = int(input())

if A % 2 == 0:
    print(A // 2)
else:
    print(A // 2 + 1)

Submission status: Accepted

Solution code:
# import numpy as np
# import math
# import copy
# from collections import deque
import sys
input = sys.stdin.readline
# sys.setrecursionlimit(10000)


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

    if N % 2 == 0:
        res = N // 2
    else:
        res = N // 2 + 1

    print(res)



main()

Submission status: Accepted

Solution code:
N = int(input())

if N%2==0:
    print(N//2)
else:
    print(N//2+ 1)

Submission status: Accepted

Solution code:
N=input()
if N%2==0:
    print N/2
else:
    print N/2+1

Submission status: Accepted

Solution code:
n = int(input())
if n %2 == 1:
  print(n//2 + 1)
else:
  print(n//2)

Submission status: Accepted

Solution code:
import sys
input = sys.stdin.readline

n = int(input())

import math

print(math.ceil(n / 2))

Submission status: Accepted

Solution code:
n = int(input())
print (n//2) if n%2 == 0 else print ((n//2)+1)

Submission status: Accepted

Solution code:
N = int(input())
cnt = 0
if N % 2 == 0:
    cnt = N // 2
else:
    cnt = N // 2
    cnt += 1
print(cnt)

Submission status: Accepted

Solution code:
import math

N=int(input())

print(int(math.ceil(N/2)))

Submission status: Accepted

Solution code:
n = int(input())

answer = n / 2
answer = int(answer + 0.6)

print(answer)

Submission status: Accepted

Solution code:
n = int(input())

if (n % 2 == 0):
  print(int(n / 2))
else:
  print(int(n/2) + 1)

Submission status: Accepted

Solution code:
N = int(input())

print(str(N // 2 + N % 2))

Submission status: Accepted

Solution code:
import math
N = int(input())
print(math.ceil(N / 2))

Submission status: Accepted

Solution code:
n = int(input())
if n % 2 == 0: print(n//2)
else: print(n//2+1)

Submission status: Accepted

Solution code:
N = int(input())
print((N+1) // 2)

Submission status: Accepted

Solution code:
N = int(input())

if(N%2==0):
    print(N//2)
else:
    print(N//2+1)

Submission status: Accepted

Solution code:
N=int(input())
if(N%2==1):
    print((N//2)+1)
else:
    print(N//2)

Submission status: Accepted

Solution code:
n=int(input())
if n%2:
    print(n//2+1)
else:
    print(n//2)

Submission status: Accepted

Solution code:
import math
i=float(input())
k=i/2
print(math.ceil(k))

Submission status: Accepted

Solution code:
N = int(input())

if N%2==0:
    print(int(N//2))
else:
    print(int(N//2)+1)

Submission status: Accepted

Solution code:
n = [list(map(int, s.split())) for s in open(0)][0]
if n[0] % 2 != 0:
    print(n[0] // 2 + 1)
else:
    print(n[0] // 2 )

Submission status: Accepted

Solution code:
# from math import sqrt
# from heapq import heappush, heappop
# from collections import deque
#from functools import reduce


def main():
    N = int(input())
    print((N + 1) // 2)


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
n = int(input())

ans = n // 2

if n % 2 == 0:
    print(ans)
else:
    print(ans+1)

Submission status: Accepted

Solution code:
n = int(input())
# n, a, b = [int(x) for x in input().split()]

if n % 2 == 1:

  print((n//2)+1)
else:
  print(n // 2)

Submission status: Accepted

Solution code:
N = int(input())

if N % 2 == 0:
  print(N // 2)
else:
  print(N // 2 + 1)

Submission status: Accepted

Solution code:
# coding:utf-8

N = int(input())

if N % 2 == 0:
    print(N//2)
else:
    print((N//2)+1)

Submission status: Accepted

Solution code:
#!/usr/bin/env python3
import sys


def solve(N: int):
    ans = N // 2
    if N % 2 == 1:
        ans += 1
    print(ans)
    return


# Generated by 1.1.6 https://github.com/kyuridenamida/atcoder-tools  (tips: You use the default template now. You can remove this line by using your custom template)
def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  # type: int
    solve(N)


if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
N = int(input())

ans = N // 2 + N % 2
print(ans)

Submission status: Accepted

Solution code:
N = int(input())

print(N//2 if N % 2 == 0 else (N//2)+1)

Submission status: Accepted

Solution code:
from sys import stdin


def main():
    input = lambda: stdin.readline()[:-1]
    N = int(input())
    print((N + 1) // 2)


main()

Submission status: Accepted

Solution code:
from math import ceil
x = int(input())
print(ceil(x/2))

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-

#整数値入力 1文字の入力
def input_one_number():
    return int(input())

n = input_one_number()

if n%2==1:
    n+=1

print(n//2)

Submission status: Accepted

Solution code:
N = int(input())

if N % 2 == 0:
    print(int(N/2))
else:
    print(N//2+1)

Submission status: Accepted

Solution code:
N = int(input())
print(abs(-N // 2))

Submission status: Accepted

Solution code:
N = int(input())

ans = -(-N//2)

print(int(ans))

Submission status: Accepted

Solution code:
# /usr/bin/python3
# -*- coding: utf-8 -*-
from queue import Queue
from queue import LifoQueue as Stack
from math import sqrt, floor, ceil, log2
from fractions import gcd
from itertools import permutations, combinations
from operator import itemgetter
from functools import cmp_to_key


yn = 'YNeos'
ynflg = False
cnt = 0
ans = None

def lcm(a, b):
    return (a*b) // gcd(a,b)

def intinput():
    return int(input())

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

def lineinputs(func=intinput):
    datas = []
    while True:
        try:
            datas.append(func())
        except EOFError:
            break
    return datas



N = intinput()


# 出力
if N %2 == 1:
    print((N//2 + 1))
else:
    print((N//2))

Submission status: Accepted

Solution code:
import sys

n = int(input())

if n%2==0:
    print(int(n/2))
    sys.exit()
else :
    print(n//2+1)

Submission status: Accepted

Solution code:
N=int(raw_input())

print (N+1)//2

Submission status: Accepted

Solution code:
n=int(input())

if n % 2 == 0:
    print(n // 2)
else:
    print(n // 2 + 1)

Submission status: Accepted

Solution code:
N = int(input())
if N % 2 ==0:
  print(int(N/2))
else:
  print(int(N/2) +1)

Submission status: Accepted

Solution code:
n = int(input())

if n%2==0:
    print(int(n/2))
else:
    print(int((n+1)/2))

Submission status: Accepted

Solution code:
import math


def resolve():
    a = int(input())
    print(math.ceil(a / 2))

resolve()

Submission status: Accepted

Solution code:
N = int(input())

if N % 2 == 1:
    N += 1

print(N//2)

Submission status: Accepted

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

if N % 2 == 0:
  ans = int(N / 2)
else:
  ans = int(N / 2) + 1
print(ans)

Submission status: Accepted

Solution code:
import math
from collections import deque
def main():
    n = int(input())
    print(n//2+n%2)
    
if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
n = int(input())
import math
print(math.ceil(n / 2))

Submission status: Accepted

Solution code:
#!/usr/bin/env python3
import sys


def solve(N: int):
    if N % 2 == 0:
        print(N // 2)

    else:
        print(N // 2 + 1)
    return


# Generated by 1.1.6 https://github.com/kyuridenamida/atcoder-tools  (tips: You use the default template now. You can remove this line by using your custom template)
def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word

    tokens = iterate_tokens()
    N = int(next(tokens))  # type: int
    solve(N)


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# vim:fenc=utf-8 ff=unix


def solv(N):
    return (N+1) // 2


if __name__ == "__main__":

    # N
    #
    N = int(input())
    ans = solv(N)

    print(ans)

Submission status: Accepted

Solution code:
import math

def resolve():
    N = int(input())
    print(math.ceil(N/2))


if __name__ == "__main__":
    resolve()

Submission status: Accepted

Solution code:
#!/usr/bin/env python3
import sys
import math

def solve(N: int):
    print(str(math.ceil(N/2)))
    return


# Generated by 1.1.6 https://github.com/kyuridenamida/atcoder-tools  (tips: You use the default template now. You can remove this line by using your custom template)
def main():
    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  # type: int
    solve(N)

if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
N = int(input())

if N % 2 == 0 :
    print(int(N/2))
else :
    print(int(N/2) + 1)

Submission status: Accepted

Solution code:
import sys,collections,math,random,fractions,bisect;sys.setrecursionlimit(10**7)
sr = sys.stdin.readline; P = print; P2 = lambda x: print(*x, sep="\n")
def I(i=0): t = [int(x)-i for x in sr().split()];return t
def S(): t = sr().split(); return t if len(t) > 1 else t[0]
L1,L2,L3,L4, = [],[],[],[]
 
a, = I()
print(math.ceil(a/2))

Submission status: Accepted

Solution code:
a = int(input())
print(int(-(-a//2)))

Submission status: Accepted

Solution code:
n = int(input())
ans = n//2
if n% 2 != 0:
    ans += 1
print(ans)

Submission status: Accepted

Solution code:
from math import ceil
n = int(input())
print(ceil(n / 2))

Submission status: Accepted

Solution code:
N = int(input())
if(N%2 == 0):
    print(N//2)
else:
    print(N//2+1)

Submission status: Accepted

Solution code:
import sys
input = sys.stdin.readline

def main():
    N = int(input())
    ans = N/2
    if ans > N // 2:
        print(N//2+1)
    else:
        print(N//2)



if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
a = int(input())

if a % 2 == 1:
  print(int(a // 2 + 1))
else:
  print(int(a //2))

Submission status: Accepted

Solution code:
N = int(input())

print((N - 1) // 2 + 1)

Submission status: Accepted

Solution code:
N = int(input()) 

s = N //2
a = N % 2

if a == 1:
    s += 1
print(s)

Submission status: Accepted

Solution code:
a = int(input())
print(int(a / 2) + a % 2)

Submission status: Accepted

Solution code:
N = int(input())

if N % 2 == 0:
    print(int(N/2))
else:
    print( int(N/2 + 1 ))

Submission status: Accepted

Solution code:
N = int(input())
if N%2 == 0:
  ans = N//2
else:
  ans = (N+1)//2
print(ans)

Submission status: Accepted

Solution code:
"""
 = int(input())
 = map(int, input().split())
 = list(map(int, input().split()))
"""

N = int(input())
if N % 2 == 0:
    print(N // 2)
else:
    print(N // 2 + 1)

Submission status: Accepted

Solution code:
N = int(input())
a =  N // 2
b = N % 2
print(a + b)

Submission status: Accepted

Solution code:
import sys

# S = input()
# N, M = map(int, input().split())
# nums = list(map(int, input().split()))
# nums_2d = [list(map(int, input().split())) for _ in range(N)]


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

    print((N+1)//2)


if __name__ == '__main__':
    main()

Submission status: Accepted

Solution code:
import math
A = int(input())
print(math.ceil(A/2))

Submission status: Accepted

Solution code:
n = int(input())
if n%2 == 0: print(n//2)
else: print((n+1)//2)

Submission status: Accepted

Solution code:
n = int(input())

if n%2:
    print(n//2+1)
else:
    print(n//2)

Submission status: Accepted

Solution code:
N= int(input()) 
if N % 2 == 0:
  print(N // 2)
else:
  print(N // 2 + 1)

Submission status: Accepted

Solution code:
N = int(input())

if N % 2 == 0:
    print(N // 2)
else:
    print((N + 1) // 2)

Submission status: Accepted

Solution code:

n=int(input())

import math 

res=math.ceil(n/2) 
print(res)

Submission status: Accepted

Solution code:

#####

import numpy as np
from numpy import newaxis, float32, float64, int32, int64, int16, int8, uint8, uint32, complex64, complex128

#####

def getIntList(inp):
	return [int(_) for _ in inp]
	

from sys import stdin

def getInputs():
	inputs=[]
	for line in stdin:
		line=line.split()
		inputs.append(line)
	return inputs


def m(t0,x0,y0,t1,x1,y1):
	d=abs(x1-x0)+abs(y1-y0)
	dt=t1-t0
	if d>dt: return False
	dd=d-dt
	return dd%2==0


def main(inputs):
	n=int(inputs[0][0])
	print(int(np.ceil(n/2)))
	

if __name__=="__main__":
	inputs=getInputs()
# 	inputs=simInputs()
	main(inputs)

Submission status: Accepted

Solution code:
n = int(input())
ans = (n+2-1)//2
print(ans)

Submission status: Accepted

Solution code:
import sys
input = lambda: sys.stdin.readline().rstrip()
input_nums = lambda: list(map(int, input().split()))

n = int(input())
if n % 2 == 0:
    print(n//2)
else:
    print(n//2+1)

Submission status: Accepted

Solution code:

n = int(input())

print(-(-n//2))

Submission status: Accepted

Solution code:
N = int(input())
if N%2 == 0:
    ans = int(N//2)
else:
    ans = int(N//2) + 1

print(ans)

Submission status: Accepted

Solution code:
i = int(input())

print(i//2 + i%2)

Submission status: Accepted

Solution code:
n=int(input())
print(int(n//2)) if n%2==0 else print(int(n//2)+1)

Submission status: Accepted

Solution code:
n = int(input())
ans = (n + 1) // 2
print(ans)

Submission status: Accepted

Solution code:
N = int(input())

s = N // 2
if N % 2 == 0:
    print(s)
else:
    print(s + 1)

Submission status: Accepted

Solution code:
N = int(input())

print(N//2+ N%2)

Submission status: Accepted

Solution code:
print(-1*(-int(input())//2))

Submission status: Accepted

Solution code:
N = int(input())
if N % 2 == 0:
    print(int(N / 2))
else:
    print(int(N // 2 + 1))

Submission status: Accepted

Solution code:
n = int(input())
if (n % 2 == 0):
    print(n // 2)
else:
    print((n // 2) + 1)

Submission status: Accepted

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

print(int(math.ceil(n/2)))

Submission status: Accepted

Solution code:
n = int(input())
if n % 2 == 0:
    print(int(n / 2))
else:
    print(int((n + 1) / 2))

Submission status: Accepted

Solution code:
n = int(input())
if n // 2 * 2 == n:
  print(n // 2)
else:
  print(n // 2 + 1)

Submission status: Accepted

Solution code:
import sys
import math
input = sys.stdin.readline
sys.setrecursionlimit(10**6)


def main():
    n = int(input())
    ans = math.ceil(n/2)
    print(ans)


main()

Submission status: Accepted

Solution code:
n=int(input())
if n%2==0:
    print(n//2)
else:
    print(n//2 + 1)

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
import math

N = int(input())

print(math.ceil(N / 2))

Submission status: Accepted

Solution code:
#!/usr/bin/python3
# -*- coding: utf-8 -*-
n = int(input())
if n % 2 == 0:
    print(n // 2)
else:
    print(n // 2 + 1)

Submission status: Accepted

Solution code:
n = int(input())

if n %2:
    print(n//2+1)
else:
    print(n//2)

Submission status: Accepted

Solution code:
N = int(input())
print(N//2 + (N&1))

Submission status: Accepted

Solution code:
N = int(input())
print(int(N / 2 if not N % 2 else N // 2 + 1))

Submission status: Accepted

Solution code:
#python3
from math import ceil
def main():
    n = int(input())
    print(ceil(n/2))
main()

Submission status: Accepted

Solution code:
n = int(input())

if n % 2 == 0:
    print(n//2)
else:
    print((n//2)+1)

Submission status: Accepted

Solution code:
a = int(input())
print(a//2+a%2)

Submission status: Accepted

Solution code:
N=int(input())
if N%2:
    N+=1
print(N//2)

Submission status: Accepted

Solution code:
from collections import defaultdict
from collections import deque
from string import ascii_uppercase
import sys, bisect, math, heapq

stdin = sys.stdin
read_int = lambda : list(map(int,stdin.readline().split()))
read_str = lambda : stdin.readline().rstrip()

N = read_int()[0]


def solve():
    return N // 2 + N % 2

if __name__ == "__main__":
    print(solve())

Submission status: Accepted

Solution code:
import math

A = int(input())

print(math.ceil(A/2))

Submission status: Accepted

Solution code:
n = int(input())

print(int(n/2+0.5))

Submission status: Accepted

Solution code:
X = int(input())
print(X // 2 + (1 if X % 2 == 1 else 0))

Submission status: Accepted

Solution code:
N = int(input())
print(N//2+int(N%2==1))

Submission status: Accepted

Solution code:
N = int(input())

if N % 2 ==1:
    print(N // 2 + 1)
else:
    print(N // 2)

Submission status: Accepted

Solution code:
n = int(input())
ans = sum(divmod(n, 2))
print(ans)

Submission status: Accepted

Solution code:
import math



n = int(input())
print(math.ceil(n/2))

Submission status: Accepted

Solution code:
import math

n = int(input())
print(math.ceil(n/2)
)

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
import sys
import math
from bisect import bisect_left
from bisect import bisect_right
import collections
import copy
import heapq
from collections import defaultdict
from heapq import heappop, heappush
import itertools
input = sys.stdin.readline

##### リストの 二分木検索 #####
# bisect_left(lists, 3)
# bisect_right(lists, 3)

##### プライオリティキュー #####
# heapq.heapify(a) #リストaのheap化
# heapq.heappush(a,x) #heap化されたリストaに要素xを追加
# heapq.heappop(a) #heap化されたリストaから最小値を削除＆その最小値を出力

# heapq.heappush(a, -x) #最大値を取り出す時は、pushする時にマイナスにして入れよう
# heapq.heappop(a) * (-1) #取り出す時は、-1を掛けて取り出すこと

##### タプルリストのソート #####
# sorted(ans) #(a, b) -> 1st : aの昇順, 2nd : bの昇順
# sorted(SP, key=lambda x:(x[0],-x[1])) #(a, b) -> 1st : aの昇順, 2nd : bの降順
# sorted(SP, key=lambda x:(-x[0],x[1])) #(a, b) -> 1st : aの降順, 2nd : bの昇順
# sorted(SP, key=lambda x:(-x[0],-x[1])) #(a, b) -> 1st : aの降順, 2nd : bの降順

# sorted(SP, key=lambda x:(x[1])) #(a, b) -> 1st : bの昇順
# sorted(SP, key=lambda x:(-x[1])) #(a, b) -> 1st : bの降順

##### 累乗 #####
# pow(x, y, z) -> x**y % z

def inputInt(): return int(input())
def inputMap(): return map(int, input().split())
def inputList(): return list(map(int, input().split()))

inf = float('inf')
mod = 1000000007

#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

def main():
	N = inputInt()

	ans = -(-N // 2)

	print(ans)

#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
# special thanks :
#  https://nagiss.hateblo.jp/entry/2019/07/01/185421
#-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
# nCr mod m
# rがn/2に近いと非常に重くなる
def combination(n, r, mod=10**9+7):
    r = min(r, n-r)
    res = 1
    for i in range(r):
        res = res * (n - i) * modinv(i+1, mod) % mod
    return res

# mを法とするaの乗法的逆元
def modinv(a, mod=10**9+7):
    return pow(a, mod-2, mod)

def egcd(a, b):
    if a == 0:
        return b, 0, 1
    else:
        g, y, x = egcd(b % a, a)
        return g, x - (b // a) * y, y

# nHr mod m
# 問題によって、combination()を切り替えること
def H(n, r, mod=10**9+7):
	# comb = Combination(n+r-1, mod)
	# return comb(n+r-1, r)
    return combination(n+r-1, r, mod)

class Combination:
    """
    O(n)の前計算を1回行うことで，O(1)でnCr mod mを求められる
    n_max = 10**6のとき前処理は約950ms (PyPyなら約340ms, 10**7で約1800ms)
    使用例：
    comb = Combination(1000000)
    print(comb(5, 3))  # 10
    """
    def __init__(self, n_max, mod=10**9+7):
        self.mod = mod
        self.modinv = self.make_modinv_list(n_max)
        self.fac, self.facinv = self.make_factorial_list(n_max)

    def __call__(self, n, r):
        return self.fac[n] * self.facinv[r] % self.mod * self.facinv[n-r] % self.mod

    def make_factorial_list(self, n):
        # 階乗のリストと階乗のmod逆元のリストを返す O(n)
        # self.make_modinv_list()が先に実行されている必要がある
        fac = [1]
        facinv = [1]
        for i in range(1, n+1):
            fac.append(fac[i-1] * i % self.mod)
            facinv.append(facinv[i-1] * self.modinv[i] % self.mod)
        return fac, facinv

    def make_modinv_list(self, n):
        # 0からnまでのmod逆元のリストを返す O(n)
        modinv = [0] * (n+1)
        modinv[1] = 1
        for i in range(2, n+1):
            modinv[i] = self.mod - self.mod//i * modinv[self.mod%i] % self.mod
        return modinv

if __name__ == "__main__":
	main()

Submission status: Accepted

Solution code:
n = int(input())
if n % 2 == 0:
  print(int(n/2))
else:
  print(int(n/2)+1)

Submission status: Accepted

Solution code:
n = input()
if n%2==0:
  print(n/2)
else:
  print(n/2+1)

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
n = int(input())
print(n//2+n%2)

Submission status: Accepted

Solution code:
n = int(input())
result = n // 2 + n % 2
print(result)

Submission status: Accepted

Solution code:
import math
n=int(input())
print(n//2+(n%2))

Submission status: Accepted

Solution code:
n=int(input())
if n%2==0:
  print(int(n//2))
else:
  print(int(n//2)+1)

Submission status: Accepted

Solution code:
import math
n=int(input())
print(math.ceil(n / 2))

Submission status: Accepted

Solution code:
n = int(input())
print(n//2+1 if n%2 != 0 else n//2)

Submission status: Accepted

Solution code:
#!python3.4
# -*- coding: utf-8 -*-
# abc157/abc157_a
import sys
import math

s2nn = lambda s: [int(c) for c in s.split(' ')]
ss2nn = lambda ss: [int(s) for s in list(ss)]
ss2nnn = lambda ss: [s2nn(s) for s in list(ss)]
i2s = lambda: sys.stdin.readline().rstrip()
i2n = lambda: int(i2s())
i2nn = lambda: s2nn(i2s())
ii2ss = lambda n: [i2s() for _ in range(n)]
ii2nn = lambda n: ss2nn(ii2ss(n))
ii2nnn = lambda n: ss2nnn(ii2ss(n))

def main():
    N = i2n()
    print(math.ceil(N / 2))
    return

main()

Submission status: Accepted

Solution code:
import sys
import math
input = sys.stdin.readline

#N, M, L  = (int(i) for i in input().split())
#ABC = [[int(i) for i in input().split()] for i in range(N)]
N = int(input())

print(math.ceil(N/2))

Submission status: Accepted

Solution code:
n = int(input())

if n % 2 == 0:
    print(n // 2)
else:
    print((n + 1) // 2)

Submission status: Accepted

Solution code:
N = int(input())

if N % 2 == 0:
  print(N//2)
else:
  print(N//2+1)

Submission status: Accepted

Solution code:
def main():
    n = int(input())
    if n %2 ==0:
        print(n//2)
        return
    else:
        print(n//2 + 1)
if __name__=='__main__':
    main()

Submission status: Accepted

Solution code:
N=int(input())                                          # 1行1列


if N %2 == 0:
	print(int(N/2))
else:
	print(int((N+1)/2))

Submission status: Accepted

Solution code:
num = int(input())
# a, b = list(map(int, input().split()))

q, m = divmod(num, 2)
if  m == 1:
    print(q+1)
else:
    print(q)
# for _ in range(num):
#     print("hoge")

Submission status: Accepted

Solution code:
import sys
input = sys.stdin.readline


def main():
    n = int(input())
    if n % 2 == 0:
        print(n//2)
    else:
        print(n//2+1)


if __name__ == "__main__":
    main()

Submission status: Accepted

Solution code:
import math

x = int(input())
ans = math.ceil(x / 2)

print(ans)

Submission status: Accepted

Solution code:
n=int(input())

if n%2==0:
    print(n//2)
else:
    print((n//2)+1)

Submission status: Accepted

Solution code:
#!/bin/bash
''':'
docker run --rm -it -v $(cd $(dirname $0) && pwd):/vo:ro pypy:3-2.4.0 \
   /bin/bash -c "pypy3 /vo/$(basename $0) < /vo/g.inp"
exit $?
'''
import sys
import math

def _i(): return int(sys.stdin.readline().strip())

print(math.ceil(_i()/2))

Submission status: Accepted

Solution code:
# -*- coding: utf-8 -*-
"""
Created on Sun Mar  1 20:51:26 2020

@author: H_Hoshigi
"""

N = int(input())

print((N+1)//2)

Submission status: Accepted

Solution code:
n = int(input())

if n % 2 == 0:
  print(n//2)
else:
  print((n//2)+1)

Submission status: Accepted

Solution code:
N=int(input())

ans = N // 2 + N % 2

print(ans)

Submission status: Accepted

Solution code:
n=int(input()) 

if n%2 ==0:
    print(n//2)
else:
    print(n//2 + 1)

Submission status: Accepted

Solution code:
n = int(input())
if n % 2:
    print(n // 2 +1)
else:
    print(n//2)

Submission status: Accepted

Solution code:
n = int(input())
if(n%2==0):
  print(n//2)
else:
  print(n//2+1)

Submission status: Accepted

Solution code:
n = int(input())
cnt = 0
while n > 2 * cnt:
    cnt += 1
print(cnt)

Submission status: Accepted

Solution code:
N = int(input())
if N%2 == 0:
    print(N//2)
else:
    print(1+N//2)

Submission status: Accepted

Solution code:
n = int(input())
if (n % 2 == 0):
  print(n//2)
else:
  print(n//2+1)

Submission status: Accepted

Solution code:
N=int(input())
if N%2!=0:
  print(N//2+1)
else:
  print(N//2)

Submission status: Accepted

Solution code:
# Code for A - Duplex Printing
# Use input() to fetch data from STDIN
from math import ceil
n = int(input())

print(ceil(n / 2))

Submission status: Accepted

Solution code:
import math
import itertools
import statistics
#n = int(input())
#n, d = list(input().split())
#h, w = list(map(int, input().split()))
n = int(input())
if n%2==0:
    print(n//2)
else:
    print(n//2+1)

Submission status: Accepted

Solution code:
import math

N =int(input())
print(math.ceil(N/2))

Submission status: Accepted

Solution code:
n = int(input())
if n % 2 == 0:
	print(int(n/2))
else:
	print(int((n + 1)/2))

Submission status: Accepted

Solution code:
import sys
range = xrange
input = raw_input

n = int(input())
print (n + 1) >> 1

Submission status: Accepted

Solution code:
# ABC 157 A
si = lambda: input()
ni = lambda: int(input())
nm = lambda: map(int, input().split())
nms = lambda: map(str, input().split())
nl = lambda: list(map(int, input().split()))
n=int(input())
if n%2==1:
    print(n//2+1)
else:
    print(n//2)

Submission status: Accepted

Solution code:
N=int(input())

if N%2==1:
	print(int(N/2)+1)
else:
	print(int(N/2))

Submission status: Accepted

Solution code:
N = int(input())
print(-N//2*(-1))

Submission status: Accepted

Solution code:
print(sum(divmod(int(input()), 2)))