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.util.*;
import java.io.*;
public class B{
    static PrintWriter out;
    static InputReader in;
    public static void main(String args[]){
        out = new PrintWriter(System.out);
        in = new InputReader();
        new B();
        out.flush(); out.close();
    }   
    B(){
        solve();
    }
    void solve(){
        int n = in.nextInt();
        long tot = 0;
        int  a[] = new int[n];
        for(int i = 0; i < n; i++)tot += a[i] = in.nextInt();
        long c = 0; int p = -1;
        for(int i = n - 1; i >= 0; i--){
            boolean even = a[i] % 2 == 0, odd = !even;
            if(c == 0){
                if(odd){
                    c = 1; p = 1;
                }
            }else if(c == 1){
                if(p == 1){
                    if(odd){
                        c = 0;
                    }else{
                        c = 1; 
                    }
                    p = 2;
                }else{
                    if(odd){
                        c = 2; 
                    }else{
                        c = 1; 
                    }
                    p = 1;
                }
            }else{
                if(p == 1){
                    if(odd){
                        c--; 
                    }
                    p = 2;
                }else{
                    if(odd){
                        c++;
                    }
                    p = 1;
                }
            }
        }
        out.print((tot - c) / 2);
    }
    public static class InputReader{
        BufferedReader br;
        StringTokenizer st;
        InputReader(){
            br = new BufferedReader(new InputStreamReader(System.in));
        }
        public int nextInt(){
            return Integer.parseInt(next());
        }
        public long nextLong(){
            return Long.parseLong(next());
        }
        public double nextDouble(){
            return Double.parseDouble(next());
        }
        public String next(){
            while(st == null || !st.hasMoreTokens()){
                try{
                    st = new StringTokenizer(br.readLine());
                }catch(IOException e){}
            }
            return st.nextToken();
        }
    }
}
        