#include <bits/stdc++.h>
using namespace std;
int simulategame(int rightshell, vector<int>a, vector<int>b, vector<int>g){
int points=0;
int aa,bb,cc;
aa=0;bb=0; cc=0;
if(rightshell==1){
aa=1;
}
else if(rightshell==2){
bb=1;
}
else{
cc=1;
}
for(int i=1; i<=a.size(); i++){
int swap1, swap2, guessed;
swap1=a[i-1]; swap2=b[i-1]; guessed=g[i-1];
if(swap1==1){
if(swap2==2){
swap(aa,bb);
}
if(swap2==3){
swap(aa,cc);
}
}
else if(swap1==2){
if(swap2==1){
swap(aa,bb);
}
if(swap2==3){
swap(bb,cc);
}
}
else{
if(swap2==1){
swap(aa,bb);
}
if(swap2==2){
swap(bb,cc);
}
}
if(guessed==1){
if(aa==1){
points++;
}
}
else if(guessed==2){
if(bb==1){
points++;
}
}
else{
if(cc=1){
points++;
}
}
}
return points;
}
int main() {
int n; cin>>n;
int nn; nn=n;
vector<int>a,b,g;
while(nn--){
int x,y,z;
cin>>x>>y>>z;
a.push_back(x);
b.push_back(y);
g.push_back(z);
}
cout<<max(max(simulategame(1,a,b,g),simulategame(2,a,b,g)),simulategame(3,a,b,g));
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBzaW11bGF0ZWdhbWUoaW50IHJpZ2h0c2hlbGwsIHZlY3RvcjxpbnQ+YSwgdmVjdG9yPGludD5iLCB2ZWN0b3I8aW50PmcpewoJaW50IHBvaW50cz0wOwoJaW50IGFhLGJiLGNjOwoJYWE9MDtiYj0wOyBjYz0wOwoJaWYocmlnaHRzaGVsbD09MSl7CgkJYWE9MTsKCX0KCWVsc2UgaWYocmlnaHRzaGVsbD09Mil7CgkJYmI9MTsKCX0KCWVsc2V7CgkJY2M9MTsKCX0KCWZvcihpbnQgaT0xOyBpPD1hLnNpemUoKTsgaSsrKXsKCQlpbnQgc3dhcDEsIHN3YXAyLCBndWVzc2VkOwoJCXN3YXAxPWFbaS0xXTsgc3dhcDI9YltpLTFdOyBndWVzc2VkPWdbaS0xXTsKCQlpZihzd2FwMT09MSl7CgkJCWlmKHN3YXAyPT0yKXsKCQkJCXN3YXAoYWEsYmIpOwoJCQl9CgkJCWlmKHN3YXAyPT0zKXsKCQkJCXN3YXAoYWEsY2MpOwoJCQl9CgkJfQoJCWVsc2UgaWYoc3dhcDE9PTIpewoJCQkJaWYoc3dhcDI9PTEpewoJCQkJc3dhcChhYSxiYik7CgkJCX0KCQkJaWYoc3dhcDI9PTMpewoJCQkJc3dhcChiYixjYyk7CgkJCX0KCQl9CgkJZWxzZXsKCQkJCWlmKHN3YXAyPT0xKXsKCQkJCXN3YXAoYWEsYmIpOwoJCQl9CgkJCWlmKHN3YXAyPT0yKXsKCQkJCXN3YXAoYmIsY2MpOwoJCQl9CgkJfQoJCWlmKGd1ZXNzZWQ9PTEpewoJCQlpZihhYT09MSl7CgkJCQlwb2ludHMrKzsKCQkJfQoJCX0KCQllbHNlIGlmKGd1ZXNzZWQ9PTIpewoJCQlpZihiYj09MSl7CgkJCQlwb2ludHMrKzsKCQkJfQoJCX0KCQllbHNlewoJCQlpZihjYz0xKXsKCQkJCXBvaW50cysrOwoJCQl9CgkJfQoJfQoJcmV0dXJuIHBvaW50czsKfQppbnQgbWFpbigpIHsKCWludCBuOyBjaW4+Pm47CglpbnQgbm47IG5uPW47Cgl2ZWN0b3I8aW50PmEsYixnOwoJd2hpbGUobm4tLSl7CgkJaW50IHgseSx6OwoJCWNpbj4+eD4+eT4+ejsKCQlhLnB1c2hfYmFjayh4KTsKCQliLnB1c2hfYmFjayh5KTsKCQlnLnB1c2hfYmFjayh6KTsKCX0KCWNvdXQ8PG1heChtYXgoc2ltdWxhdGVnYW1lKDEsYSxiLGcpLHNpbXVsYXRlZ2FtZSgyLGEsYixnKSksc2ltdWxhdGVnYW1lKDMsYSxiLGcpKTsKCXJldHVybiAwOwp9