#include<iostream>
using namespace std;
//用线性表。
typedef struct list{
int *s;
int maxsize;
int size;
}l;
//顺序表的初始化。
void init(l &l){
l.maxsize=100000;
l.s=new int[l.maxsize];
if(l.s==NULL){
cout<<"false i"<<endl;
exit(1);
}
l.size=0;
}
//得出数据最高位的数据。
int pd(int n){
int g;
while(n>=10){
n=n/10;
}
g=n;
return g;
}
//表的输入。
void inser(l &l,int n){
//超出容量了。
if(n>l.maxsize){
cout<<"false inser"<<endl;
exit(1);
}
//正常输入。
for(int i=1;i<=n;i++){
cin>>l.s[i];
}
l.size=n;
}
int main(){
l l;
init(l);
int n;
cin>>n;
inser(l,n);
int w=0;
int i=1;
while(i!=n){
if(n==1){
//单拿出来去判断了。
w=0;
}else{
if(l.s[i]%10!=pd(l.s[i+1])){
w++;
//直接将后面的值给前面,然后再次判断。
l.s[i+1]=l.s[i];
i++;
}else{
i++;
continue;
}
}
}
cout<<w<<endl;
return 0;
}