                    ////////////////////////////////////////////////////
                    //                                                //
                    //  For her who keeps the fire kindling in me...  //
                    //                                                //
                    ////////////////////////////////////////////////////


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException; 
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
// import java.util.Scanner;
// import java.util.Arrays;
// import java.util.ArrayList;
// import java.util.Collections; 
// import java.util.StringTokenizer;
import java.util.*;
import java.lang.Math;
import java.awt.Point;                            

import java.awt.geom.*;

public class Main{

    // static class Pair{
    //     int x;
    //     int y;
    // }

    public static void main(String args[]){
        try{
            FastReader s = new FastReader();
            BufferedWriter w = new BufferedWriter(new OutputStreamWriter(System.out));
            int i, j, k, x, y, t,  count, key, size, Pairer, minglob, minloc, beg, end, begl, endr, ld, up, down, maxele, minele;
            long ans, sqrt, q, r, sum, maxup, maxdown, n, m, X, Y, Q, MOD;//, sum2;
            boolean flag, flag2;

            double avg;

            // t = s.nextInt();

            // for(; t>0; t--){

                X = s.nextLong();
                //Y = s.nextLong();


                
                if( X%2 == 0){
                    w.write(((X/2))+"\n");
    
                }else
                    w.write(((X/2) + 1)+"\n");

            // }
            w.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
                
                
//========================================### FAST IO ###=========================================//
class FastReader 
{ 
    BufferedReader br; 
    StringTokenizer st; 

    public FastReader() 
    { 
        br = new BufferedReader(new
                    InputStreamReader(System.in)); 
    } 

    String next() 
    { 
        while (st == null || !st.hasMoreElements()) 
        { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } 
        return st.nextToken(); 
    } 

    int nextInt() 
    { 
        return Integer.parseInt(next()); 
    } 

    long nextLong() 
    { 
        return Long.parseLong(next()); 
    } 

    Double nextDouble() 
    { 
        return Double.parseDouble(next());
    } 

    String nextLine() 
    { 
        String str = ""; 
        try
        { 
            str = br.readLine(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
        return str;
    } 
}
    //====================================================================================================// import java.io.BufferedReader; BufferedReader java.io import java.io.BufferedWriter; BufferedWriter java.io import java.io.FileOutputStream; FileOutputStream java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.io.OutputStream; OutputStream java.io import java.io.OutputStreamWriter; OutputStreamWriter java.io import java.io.PrintWriter; PrintWriter java.io import java.util.*; util.* java import java.lang.Math; Math java.lang import java.awt.Point; Point java.awt import java.awt.geom.*; geom.* java.awt public class Main{

    // static class Pair{
    //     int x;
    //     int y;
    // }

    public static void main(String args[]){
        try{
            FastReader s = new FastReader();
            BufferedWriter w = new BufferedWriter(new OutputStreamWriter(System.out));
            int i, j, k, x, y, t,  count, key, size, Pairer, minglob, minloc, beg, end, begl, endr, ld, up, down, maxele, minele;
            long ans, sqrt, q, r, sum, maxup, maxdown, n, m, X, Y, Q, MOD;//, sum2;
            boolean flag, flag2;

            double avg;

            // t = s.nextInt();

            // for(; t>0; t--){

                X = s.nextLong();
                //Y = s.nextLong();


                
                if( X%2 == 0){
                    w.write(((X/2))+"\n");
    
                }else
                    w.write(((X/2) + 1)+"\n");

            // }
            w.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
} Main public static void main(String args[]){
        try{
            FastReader s = new FastReader();
            BufferedWriter w = new BufferedWriter(new OutputStreamWriter(System.out));
            int i, j, k, x, y, t,  count, key, size, Pairer, minglob, minloc, beg, end, begl, endr, ld, up, down, maxele, minele;
            long ans, sqrt, q, r, sum, maxup, maxdown, n, m, X, Y, Q, MOD;//, sum2;
            boolean flag, flag2;

            double avg;

            // t = s.nextInt();

            // for(; t>0; t--){

                X = s.nextLong();
                //Y = s.nextLong();


                
                if( X%2 == 0){
                    w.write(((X/2))+"\n");
    
                }else
                    w.write(((X/2) + 1)+"\n");

            // }
            w.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    } main {
        try{
            FastReader s = new FastReader();
            BufferedWriter w = new BufferedWriter(new OutputStreamWriter(System.out));
            int i, j, k, x, y, t,  count, key, size, Pairer, minglob, minloc, beg, end, begl, endr, ld, up, down, maxele, minele;
            long ans, sqrt, q, r, sum, maxup, maxdown, n, m, X, Y, Q, MOD;//, sum2;
            boolean flag, flag2;

            double avg;

            // t = s.nextInt();

            // for(; t>0; t--){

                X = s.nextLong();
                //Y = s.nextLong();


                
                if( X%2 == 0){
                    w.write(((X/2))+"\n");
    
                }else
                    w.write(((X/2) + 1)+"\n");

            // }
            w.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    } try{
            FastReader s = new FastReader();
            BufferedWriter w = new BufferedWriter(new OutputStreamWriter(System.out));
            int i, j, k, x, y, t,  count, key, size, Pairer, minglob, minloc, beg, end, begl, endr, ld, up, down, maxele, minele;
            long ans, sqrt, q, r, sum, maxup, maxdown, n, m, X, Y, Q, MOD;//, sum2;
            boolean flag, flag2;

            double avg;

            // t = s.nextInt();

            // for(; t>0; t--){

                X = s.nextLong();
                //Y = s.nextLong();


                
                if( X%2 == 0){
                    w.write(((X/2))+"\n");
    
                }else
                    w.write(((X/2) + 1)+"\n");

            // }
            w.close();
        }catch(Exception e){
            e.printStackTrace();
        } catch(Exception e){
            e.printStackTrace();
        } Exception e {
            e.printStackTrace();
        } e.printStackTrace() e.printStackTrace e {
            FastReader s = new FastReader();
            BufferedWriter w = new BufferedWriter(new OutputStreamWriter(System.out));
            int i, j, k, x, y, t,  count, key, size, Pairer, minglob, minloc, beg, end, begl, endr, ld, up, down, maxele, minele;
            long ans, sqrt, q, r, sum, maxup, maxdown, n, m, X, Y, Q, MOD;//, sum2;
            boolean flag, flag2;

            double avg;

            // t = s.nextInt();

            // for(; t>0; t--){

                X = s.nextLong();
                //Y = s.nextLong();


                
                if( X%2 == 0){
                    w.write(((X/2))+"\n");
    
                }else
                    w.write(((X/2) + 1)+"\n");

            // }
            w.close();
        } FastReader s = new FastReader(); s new FastReader() BufferedWriter w = new BufferedWriter(new OutputStreamWriter(System.out)); w new BufferedWriter(new OutputStreamWriter(System.out)) int i i j j k k x x y y t t count count key key size size Pairer Pairer minglob minglob minloc minloc beg beg end end begl begl endr endr ld ld up up down down maxele maxele minele; minele long ans ans sqrt sqrt q q r r sum sum maxup maxup maxdown maxdown n n m m X X Y Y Q Q MOD; MOD boolean flag flag flag2; flag2 double avg; avg X = s.nextLong() X s.nextLong() s.nextLong s if( X%2 == 0){
                    w.write(((X/2))+"\n");
    
                }else
                    w.write(((X/2) + 1)+"\n"); X%2 == 0 X%2 X 2 0 {
                    w.write(((X/2))+"\n");
    
                } w.write(((X/2))+"\n") w.write w ((X/2))+"\n" ((X/2)) X 2 "\n" w.write(((X/2) + 1)+"\n") w.write w ((X/2) + 1)+"\n" ((X/2) + 1) (X/2) X 2 1 "\n" w.close() w.close w String args[] args class FastReader 
{ 
    BufferedReader br; 
    StringTokenizer st; 

    public FastReader() 
    { 
        br = new BufferedReader(new
                    InputStreamReader(System.in)); 
    } 

    String next() 
    { 
        while (st == null || !st.hasMoreElements()) 
        { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } 
        return st.nextToken(); 
    } 

    int nextInt() 
    { 
        return Integer.parseInt(next()); 
    } 

    long nextLong() 
    { 
        return Long.parseLong(next()); 
    } 

    Double nextDouble() 
    { 
        return Double.parseDouble(next());
    } 

    String nextLine() 
    { 
        String str = ""; 
        try
        { 
            str = br.readLine(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
        return str;
    } 
} FastReader BufferedReader br; br StringTokenizer st; st public FastReader() 
    { 
        br = new BufferedReader(new
                    InputStreamReader(System.in)); 
    } FastReader { 
        br = new BufferedReader(new
                    InputStreamReader(System.in)); 
    } br = new BufferedReader(new
                    InputStreamReader(System.in)) br new BufferedReader(new
                    InputStreamReader(System.in)) String next() 
    { 
        while (st == null || !st.hasMoreElements()) 
        { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } 
        return st.nextToken(); 
    } next { 
        while (st == null || !st.hasMoreElements()) 
        { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } 
        return st.nextToken(); 
    } while (st == null || !st.hasMoreElements()) 
        { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } st == null || !st.hasMoreElements() st == null st null !st.hasMoreElements() st.hasMoreElements() st.hasMoreElements st { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } IOException  e { 
                e.printStackTrace(); 
            } e.printStackTrace() e.printStackTrace e { 
                st = new StringTokenizer(br.readLine()); 
            } st = new StringTokenizer(br.readLine()) st new StringTokenizer(br.readLine()) return st.nextToken(); st.nextToken() st.nextToken st int nextInt() 
    { 
        return Integer.parseInt(next()); 
    } nextInt { 
        return Integer.parseInt(next()); 
    } return Integer.parseInt(next()); Integer.parseInt(next()) Integer.parseInt Integer next() next long nextLong() 
    { 
        return Long.parseLong(next()); 
    } nextLong { 
        return Long.parseLong(next()); 
    } return Long.parseLong(next()); Long.parseLong(next()) Long.parseLong Long next() next Double nextDouble() 
    { 
        return Double.parseDouble(next());
    } nextDouble { 
        return Double.parseDouble(next());
    } return Double.parseDouble(next()); Double.parseDouble(next()) Double.parseDouble Double next() next String nextLine() 
    { 
        String str = ""; 
        try
        { 
            str = br.readLine(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
        return str;
    } nextLine { 
        String str = ""; 
        try
        { 
            str = br.readLine(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
        return str;
    } String str = ""; str "" try
        { 
            str = br.readLine(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } catch (IOException e) 
        { 
            e.printStackTrace(); 
        } IOException e { 
            e.printStackTrace(); 
        } e.printStackTrace() e.printStackTrace e { 
            str = br.readLine(); 
        } str = br.readLine() str br.readLine() br.readLine br return str; str public class Main{

    // static class Pair{
    //     int x;
    //     int y;
    // }

    public static void main(String args[]){
        try{
            FastReader s = new FastReader();
            BufferedWriter w = new BufferedWriter(new OutputStreamWriter(System.out));
            int i, j, k, x, y, t,  count, key, size, Pairer, minglob, minloc, beg, end, begl, endr, ld, up, down, maxele, minele;
            long ans, sqrt, q, r, sum, maxup, maxdown, n, m, X, Y, Q, MOD;//, sum2;
            boolean flag, flag2;

            double avg;

            // t = s.nextInt();

            // for(; t>0; t--){

                X = s.nextLong();
                //Y = s.nextLong();


                
                if( X%2 == 0){
                    w.write(((X/2))+"\n");
    
                }else
                    w.write(((X/2) + 1)+"\n");

            // }
            w.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
} public class Main{

    // static class Pair{
    //     int x;
    //     int y;
    // }

    public static void main(String args[]){
        try{
            FastReader s = new FastReader();
            BufferedWriter w = new BufferedWriter(new OutputStreamWriter(System.out));
            int i, j, k, x, y, t,  count, key, size, Pairer, minglob, minloc, beg, end, begl, endr, ld, up, down, maxele, minele;
            long ans, sqrt, q, r, sum, maxup, maxdown, n, m, X, Y, Q, MOD;//, sum2;
            boolean flag, flag2;

            double avg;

            // t = s.nextInt();

            // for(; t>0; t--){

                X = s.nextLong();
                //Y = s.nextLong();


                
                if( X%2 == 0){
                    w.write(((X/2))+"\n");
    
                }else
                    w.write(((X/2) + 1)+"\n");

            // }
            w.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
} Main
                    ////////////////////////////////////////////////////
                    //                                                //
                    //  For her who keeps the fire kindling in me...  //
                    //                                                //
                    ////////////////////////////////////////////////////


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException; 
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
// import java.util.Scanner;
// import java.util.Arrays;
// import java.util.ArrayList;
// import java.util.Collections; 
// import java.util.StringTokenizer;
import java.util.*;
import java.lang.Math;
import java.awt.Point;                            

import java.awt.geom.*;

public class Main{

    // static class Pair{
    //     int x;
    //     int y;
    // }

    public static void main(String args[]){
        try{
            FastReader s = new FastReader();
            BufferedWriter w = new BufferedWriter(new OutputStreamWriter(System.out));
            int i, j, k, x, y, t,  count, key, size, Pairer, minglob, minloc, beg, end, begl, endr, ld, up, down, maxele, minele;
            long ans, sqrt, q, r, sum, maxup, maxdown, n, m, X, Y, Q, MOD;//, sum2;
            boolean flag, flag2;

            double avg;

            // t = s.nextInt();

            // for(; t>0; t--){

                X = s.nextLong();
                //Y = s.nextLong();


                
                if( X%2 == 0){
                    w.write(((X/2))+"\n");
    
                }else
                    w.write(((X/2) + 1)+"\n");

            // }
            w.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
                
                
//========================================### FAST IO ###=========================================//
class FastReader 
{ 
    BufferedReader br; 
    StringTokenizer st; 

    public FastReader() 
    { 
        br = new BufferedReader(new
                    InputStreamReader(System.in)); 
    } 

    String next() 
    { 
        while (st == null || !st.hasMoreElements()) 
        { 
            try
            { 
                st = new StringTokenizer(br.readLine()); 
            } 
            catch (IOException  e) 
            { 
                e.printStackTrace(); 
            } 
        } 
        return st.nextToken(); 
    } 

    int nextInt() 
    { 
        return Integer.parseInt(next()); 
    } 

    long nextLong() 
    { 
        return Long.parseLong(next()); 
    } 

    Double nextDouble() 
    { 
        return Double.parseDouble(next());
    } 

    String nextLine() 
    { 
        String str = ""; 
        try
        { 
            str = br.readLine(); 
        } 
        catch (IOException e) 
        { 
            e.printStackTrace(); 
        } 
        return str;
    } 
}
    //====================================================================================================//