import itertools

import sys

import math

import numpy as np

from collections import deque

from itertools import combinations

from functools import reduce

from functools import lru_cache

sys.setrecursionlimit(10**9)



def main():

    N = int(eval(input()))

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



if __name__ == "__main__":

  main()

n = int(eval(input()))

if n%2==0:

  print((n//2))

else:

  print(((n+1)//2))
import itertools
import sys
import math
import numpy as np
from collections import deque
from itertools import combinations
from functools import reduce
from functools import lru_cache

sys.setrecursionlimit(10**9)


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


if __name__ == "__main__":
    main()

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

-import itertools -import sys -import math -import numpy as np -from collections import deque -from itertools import combinations -from functools import reduce -from functools import lru_cache - -sys.setrecursionlimit(10**9) - - -def main(): -    N = int(eval(input())) -    print((math.ceil(N / 2))) - - -if __name__ == "__main__": -    main() +n = int(eval(input())) +if n % 2 == 0: +    print((n // 2)) +else: +    print(((n + 1) // 2))