#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;

// 最多 贪心启动 贪心策略是能匹配就匹配
// 此题还有一个收获就是对于哈希表的遍历原来可以用auto [x,y]
int main() {
    int n;
    cin>>n;
    vector<int>vec;
    int cnt=0;
    for(int i=0;i<n;i++)
    {
        int x;
        cin>>x;
        vec.push_back(x);
    }
    for(int i=0;i<=n-4;)
    {
        unordered_map<int,int>mp;
        for(int j=i;j<i+4;j++)
        {
            mp[vec[j]]++;
        }
        bool judge1=false;
        bool judge2=false;
        if(mp.size()!=2)
        {
            i++;
            continue;
        }
        else 
        {
            for(auto [x,y]:mp)
            {
                if(y==1) judge1=true;
                if(y==3) judge2=true;
            }
        }
        if(judge1&&judge2)
        {
            cnt++;
            i+=4;
        }
        else
        {
            i++;
        }
    }
    cout<<cnt<<endl;
}
// 64 位输出请用 printf("%lld")