namespace AtCoderCS
{
    using System;
    using System.IO;
    using System.Text;
    using static System.Console;
    using static System.Math;
    class Program
    {
        void Solve()
        {
            var N = cin.Int;
            WriteLine(N %2 == 0 ? N / 2 : N / 2 + 1);
        }

        private SimpleInput cin = new SimpleInput();
        private SimpleOutput cout = new SimpleOutput();
        static void Main(string[] args)
            => new Program().Solve();
    }
    #region IO
    class SimpleInput
    {
        private string[] _nextBuffer;
        private int _bufferCnt;
        private readonly char[] _cs = new char[] {' ', '"', ','};
        public SimpleInput()
        {
            _nextBuffer = new string[0];
            _bufferCnt = 0;
        }

        string Next()
        {
            if (_bufferCnt < _nextBuffer.Length) return _nextBuffer[_bufferCnt++];
            var st = ReadLine();
            while (st == string.Empty) st = ReadLine();
            if (st != null) _nextBuffer = st.Split(_cs, StringSplitOptions.RemoveEmptyEntries);
            _bufferCnt = 0;
            return _nextBuffer[_bufferCnt++];
        }

        public string String => Next();
        public char Char => char.Parse(String);
        public int Int => int.Parse(String);
        public long Long => long.Parse(String);
        public double Double => double.Parse(String);
        public void Flush() => Out.Flush();
    }
    class SimpleOutput
    {
        private readonly StreamWriter _sw = new StreamWriter(OpenStandardOutput())
        {
#if DEBUG
            AutoFlush = true
#else
            AutoFlush = false
#endif
        };

        public SimpleOutput()
        {
            SetOut(_sw);
        }
    }
    #endregion
}