There is a house with n flats situated on the main street of Berlatov. Vova is watching this house every night. The house can be represented as an array of n integer numbers a_1, a_2, ..., a_n, where a_i = 1 if in the i-th flat the light is on and a_i = 0 otherwise.

Vova thinks that people in the i-th flats are disturbed and cannot sleep if and only if 1 < i < n and a_{i - 1} = a_{i + 1} = 1 and a_i = 0.

Vova is concerned by the following question: what is the minimum number k such that if people from exactly k pairwise distinct flats will turn off the lights then nobody will be disturbed? Your task is to find this number k.

Input

The first line of the input contains one integer n (3 ≤ n ≤ 100) — the number of flats in the house.

The second line of the input contains n integers a_1, a_2, ..., a_n (a_i ∈ \{0, 1\}), where a_i is the state of light in the i-th flat.

Output

Print only one integer — the minimum number k such that if people from exactly k pairwise distinct flats will turn off the light then nobody will be disturbed.

Examples

Input


10
1 1 0 1 1 0 1 0 1 0


Output


2


Input


5
1 1 0 0 0


Output


0


Input


4
1 1 1 1


Output


0

Note

In the first example people from flats 2 and 7 or 4 and 7 can turn off the light and nobody will be disturbed. It can be shown that there is no better answer in this example.

There are no disturbed people in second and third examples.
import java.util.*;
import javax.naming.directory.InvalidAttributesException;
import java.io.InputStreamReader;
import java.io.Writer;
import java.io.BufferedReader;
import java.io.IOException;
import java.lang.Math;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.io.OutputStream;
import java.io.PrintWriter;

public class one {

   static boolean isPalindrome(String word) {
    word = word.toLowerCase();
    int start = 0;
    int end = word.length() - 1;
    boolean flag = true;
    while (start <= end) {
      if (word.charAt(start) != word.charAt(end)) {
        flag = false;
        break;
      } else
        start++;
      end--;
    }
    return flag;
  }

  static boolean isVowel(char x) {
    if (x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u' || x == 'A' || x == 'E' || x == 'I' || x == 'O'
        || x == 'U')
      return true;
    else
      return false;
  }

   static boolean isPrime(int n) {

    if (n <= 1)
      return false;
    if (n <= 3)
      return true;

    if (n % 2 == 0 || n % 3 == 0)
      return false;

    for (int i = 5; i * i <= n; i = i + 6)
      if (n % i == 0 || n % (i + 2) == 0)
        return false;

    return true;
  }

  static boolean isPerfectSquare(double x) {
    double sr = Math.sqrt(x);
    return ((sr - Math.floor(sr)) == 0);
  }

  static int gcd(int a, int b) {
    if (b == 0)
      return a;
    return gcd(b, a % b);
  }

  static long gcd(long a, long b) {
    if (b == 0)
      return a;
    return gcd(b, a % b);
  }

  static long lcm(long a, long b) {
    return (a * b) / gcd(a, b);
  }

  static 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() throws IOException, InvalidAttributesException {
      String str = "";
      str = br.readLine();
      return str;
    }

    public int[] nextIntArray(int n) {
      int[] array = new int[n];
      for (int i = 0; i < n; ++i)
        array[i] = nextInt();
      return array;
    }

    public long[] nextLongArray(int n) {
      long[] array = new long[n];
      for (int i = 0; i < n; ++i)
        array[i] = nextLong();
      return array;
    }

    public ArrayList<Integer> nextIntArrayList(int n) {
      ArrayList<Integer> ar = new ArrayList<>();
      for (int i = 0; i < n; i++)
        ar.add(nextInt());
      return ar;
    }

    public ArrayList<Long> nextLongArrayList(int n) {
      ArrayList<Long> ar = new ArrayList<>();
      for (int i = 0; i < n; i++)
        ar.add(nextLong());
      return ar;
    }

    public int[][] nextIntMatrix(int n, int m) {
      int[][] matrix = new int[n][m];
      for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
          matrix[i][j] = nextInt();
      return matrix;
    }

    public long[][] nextLongMatrix(int n, int m) {
      long[][] matrix = new long[n][m];
      for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
          matrix[i][j] = nextLong();
      return matrix;
    }

    public char[][] nextCharMatrix(int n, int m) {
      char[][] matrix = new char[n][m];
      for (int i = 0; i < n; ++i)
        matrix[i] = next().toCharArray();
      return matrix;
    }

  }

  static class OutputWriter {
    private final PrintWriter writer;

    public OutputWriter(OutputStream outputStream) {
      writer = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));
    }

    public OutputWriter(Writer writer) {
      this.writer = new PrintWriter(writer);
    }


    public void print(Object... objects) {
      for (int i = 0; i < objects.length; i++) {
        if (i != 0) {
          writer.print(' ');
        }
        writer.print(objects[i]);
      }
    }

    public void print(int[] array) {
      for (int i = 0; i < array.length; i++) {
        if (i != 0) {
          writer.print(' ');
        }
        writer.print(array[i]);
      }
    }

    public void print(double[] array) {
      for (int i = 0; i < array.length; i++) {
        if (i != 0) {
          writer.print(' ');
        }
        writer.print(array[i]);
      }
    }

    public void print(long[] array) {
      for (int i = 0; i < array.length; i++) {
        if (i != 0) {
          writer.print(' ');
        }
        writer.print(array[i]);
      }
    }

    public void print(char[] array) {
      for (int i = 0; i < array.length; i++) {
        if (i != 0) {
          writer.print(' ');
        }
        writer.print(array[i]);
      }
    }

    public void print(String[] array) {
      for (int i = 0; i < array.length; i++) {
        if (i != 0) {
          writer.print(' ');
        }
        writer.print(array[i]);
      }
    }

    public void print(int[][] matrix) {
      for (int i = 0; i < matrix.length; ++i) {
        println(matrix[i]);
      }
    }

    public void print(double[][] matrix) {
      for (int i = 0; i < matrix.length; ++i) {
        println(matrix[i]);
      }
    }

    public void print(long[][] matrix) {
      for (int i = 0; i < matrix.length; ++i) {
        println(matrix[i]);
      }
    }

    public void print(char[][] matrix) {
      for (int i = 0; i < matrix.length; ++i) {
        println(matrix[i]);
      }
    }

    public void print(String[][] matrix) {
      for (int i = 0; i < matrix.length; ++i) {
        println(matrix[i]);
      }
    }

    public void println(int[] array) {
      print(array);
      writer.println();
    }

    public void println(double[] array) {
      print(array);
      writer.println();
    }

    public void println(long[] array) {
      print(array);
      writer.println();
    }

    // public void println(char[] array) {
    // print(array);
    // writer.println();
    // }

    public void println(String[] array) {
      print(array);
      writer.println();
    }

    public void println() {
      writer.println();
    }

    public void println(Object... objects) {
      print(objects);
      writer.println();
    }

    public void print(char i) {
      writer.print(i);
    }

    public void println(char i) {
      writer.println(i);
    }

    public void println(char[] array) {
      writer.println(array);
    }

    public void printf(String format, Object... objects) {
      writer.printf(format, objects);
    }

    public void close() {
      writer.close();
    }

    public void flush() {
      writer.flush();
    }

    public void print(long i) {
      writer.print(i);
    }

    public void println(long i) {
      writer.println(i);
    }

    public void print(int i) {
      writer.print(i);
    }

    public void println(int i) {
      writer.println(i);
    }

    public void separateLines(int[] array) {
      for (int i : array) {
        println(i);
      }
    }
  }


  public static void main(String[] args) {
    FastReader sc = new FastReader();
    OutputStream outputStream = System.out;
    OutputWriter out = new OutputWriter(outputStream);

  // int t = sc.nextInt();

   // while (t-- > 0) {

    int n = sc.nextInt();
    int [] arr = sc.nextIntArray(n);
    int k=0;
    for(int i=1;i<n-1;i++)
    {
      if(arr[i]==0 && arr[i-1]==1 && arr[i+1]==1)
      {
        arr[i+1]=0;
        k++;
      }
    }
    out.println(k);


     
      
    
    


  //  }
    out.flush();
    out.close();

  }
}
