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

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Runtime Error)

import java.util.*;

public class Main
{
  public static void main(String[] args)
  {
    Scanner in = new Scanner(System.in);
    int[][] card = new int[3][3];
    for(int i=0; i<3; i++){
      for(int j=0; j<3; j++){
        card[i][j] = in.nextInt();
      }
    }
    int n = in.nextInt();
    int[] target = new int[n];
    for(int i=0; i<n; i++){
      target[i] = in.nextInt();
    }
    System.out.println(bingo(card, target));
  }
  
  static String bingo(int[][] card, int[] target){
    for(int i=0; i<3; i++){
      for(int j=0; j<3; j++){
        for(int k=0; k<target.length; k++){
          if(card[i][j] == target[k]){
            card[i][j] = 0;
            break;
          }
        }
      }
    }
    if(card[0][0]==0 && card[0][1]==0 && card[0][2]==0) return "Yes";
    if(card[1][0]==0 && card[1][1]==0 && card[1][2]==0) return "Yes";
    if(card[2][0]==0 && card[2][1]==0 && card[2][2]==0) return "Yes";

    if(card[0][0]==0 && card[1][0]==0 && card[2][0]==0) return "Yes";
    if(card[0][1]==0 && card[1][1]==0 && card[2][1]==0) return "Yes";
    if(card[0][2]==0 && card[1][2]==0 && card[2][2]==0) return "Yes";

    if(card[0][0]==0 && card[1][1]==0 && card[2][2]==0) return "Yes";
    if(card[0][2]==0 && card[1][1]==0 && card[2][0]==0) return "Yes";
    return "No";
  }
}