#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")