You are given a Young diagram. 

Given diagram is a histogram with n columns of lengths a_1, a_2, …, a_n (a_1 ≥ a_2 ≥ … ≥ a_n ≥ 1).

<image> Young diagram for a=[3,2,2,2,1].

Your goal is to find the largest number of non-overlapping dominos that you can draw inside of this histogram, a domino is a 1 × 2 or 2 × 1 rectangle.

Input

The first line of input contain one integer n (1 ≤ n ≤ 300 000): the number of columns in the given histogram.

The next line of input contains n integers a_1, a_2, …, a_n (1 ≤ a_i ≤ 300 000, a_i ≥ a_{i+1}): the lengths of columns.

Output

Output one integer: the largest number of non-overlapping dominos that you can draw inside of the given Young diagram.

Example

Input


5
3 2 2 2 1


Output


4

Note

Some of the possible solutions for the example:

<image> <image>
import java.io.*;
import java.util.*;
 
public class Main {

	public static void main(String[] args)throws IOException {
        InputReader in = new InputReader(System.in);
        PrintWriter out = new PrintWriter(System.out);
        
		int n = in.nextInt();
		long ans1=0, ans2=0;
		int config = 1;
		int val=0,lastVal; boolean even;
		int temp;
		for(int i=0;i<n;i++)
		{
			lastVal = val;
			val = in.nextInt();
			// out.println("config "+config+" i"+i);
			if(i==0)
			{
				temp = (int)Math.ceil(val/(double)2);
				ans1+=temp;
				ans2+=(val-temp);
				// out.println("ans1: "+ans1);
				// out.println("ans2: "+ans2);
				continue;
			}
			even = (lastVal-val)%2==0;
			if(config==1)
			{
				if(!even){
					temp = (int)Math.ceil(val/(double)2);
					ans1+=temp;
					ans2+=(val-temp);
				}
				else{
					temp = val/2;
					ans1+=temp;
					ans2+=(val-temp);
					config=2;
				}
			}
			else
			{
				if(even){
					temp = (int)Math.ceil(val/(double)2);
					ans1+=temp;
					ans2+=(val-temp);
					config=1;
				}
				else{
					temp = val/2;
					ans1+=val/2;
					ans2+=(val-temp);
				}
			}
			// out.println("ans1: "+ans1);
			// out.println("ans2: "+ans2);
		}
		// out.println("final");
		// out.println("ans1 "+ ans1);
		// out.println("ans2 "+ans2);
		out.println(Math.min(ans1,ans2));
        out.close();
	}
    static class InputReader {
        public BufferedReader reader;
        public StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 32768);
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

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

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

    }

}