#include<bits/stdc++.h>
#define int long long
using namespace std;
int m,n,fa[5000010],cnt;
struct aaa
{
int x,y;
char z;
}a[5000010];
int find(int x)
{
int r=x;
while(r!=fa[r])
{
r=fa[r];
}
int t;
while(x!=fa[x])
{
t=x;
x=fa[x];
fa[t]=r;
}
return fa[x];
}
void join(int a,int b)
{
if(find(a)!=find(b))
{
fa[find(a)]=find(b);
}
}
signed main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
fa[i]=i;
}
for(int i=1;i<=m;i++)
{
cin>>a[i].z>>a[i].x>>a[i].y;
if(a[i].z=='F')
{
join(a[i].x,a[i].y);
}
else
{
for(int j=1;j<=n;j++)
{
if((a[j].z=='E')&&(a[i].x==a[j].x))
{
join(a[i].y,a[j].y);
}
if((a[j].z=='E')&&(a[i].y==a[j].x))
{
join(a[i].x,a[j].y);
}
if((a[j].z=='E')&&(a[i].x==a[j].y))
{
join(a[i].y,a[j].x);
}
if((a[j].z=='E')&&(a[i].y==a[j].y))
{
join(a[i].x,a[j].x);
}
}
}
}
for(int i=1;i<=n;i++)
{
if(fa[i]==i)
{
cnt++;
}
}
cout<<cnt<<endl;
return 0;
}