#include<bits/stdc++.h>
using namespace std;
int f[1001],enm[1001];
int n,m;
int find(int x){
if(f[x]!=x) return find(f[x]);
else return x;
}
void merge(int a,int b){
int aa,bb;
aa = find(a);
bb = find(b);
if(aa==bb) return;
f[bb] = aa;
}
int find_e(int x){
if(enm[x]!=x) return find_e(enm[x]);
else return x;
}
void merge_e(int a,int b){
int blc,alc,lc;
blc = find_e(b);
alc = find_e(a);
for(int i = 1;i<=n;i++){
lc = find_e(i);
if(alc == lc){
merge(a,i);
}
else if(blc == lc){
merge(b,i);
}
}
}
int main(){
cin>>n>>m;
char opt;
int a,b;
for(int i = 1;i<=n;i++){
f[i] = i;
enm[i] = i;
}
for(int i = 1;i<=m;i++){
cin>>opt>>a>>b;
if(opt=='F') merge(a,b);
else{
merge_e(a,b);
}
}
int ans =0;
for(int i = 1;i<=n;i++){
if(f[i]==i){
ans++;
}
}
cout<<ans;
}