class Solution {static int cnt=0;static boolean visit[][];public static void dfs(int k,int n,int [][]computers) {for (int i = 0; i < n; i++) {if (computers[k][i] == 1 && !visit[k][i]) {visit[k][i] = true;visit[i][k] = true;dfs(i,n,computers);}}}public int solution(int n, int[][] computers) {int answer=0;visit=new boolean[n][n];for (int i = 0; i < n; i++) {if (!visit[i][i]) {dfs(i,n,computers);cnt++;}}answer=cnt;return answer;}}
import java.util.*;
public class Main {
static int[][] map;
static boolean[] visit;
static int n, m, v;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt(); // 정점
m = sc.nextInt(); // 간선
v = sc.nextInt(); // start
map = new int[n + 1][n + 1];
visit = new boolean[n + 1]; // 방문 여부
int a, b;
for (int i = 1; i <= m; i++) {
a = sc.nextInt();
b = sc.nextInt();
map[a][b] = map[b][a] = 1;
}
dfs(v);
}
//1.재귀
public static void dfs(int d) {
visit[d] = true; // 방문한 정점임을 체크
System.out.print(d + " ");
for (int i=1; i<n+1; i++){
if(map[d][i] == 1 & !visit[i]) {
dfs(i);
}
}
}
*/
import java.util.*;
public class Main3 {
static int map[][];
static boolean visit[];
static int n;
static int size;
static String begin;
static String target;
static int block;
static String words[]= {"hot", "dot", "dog", "lot", "log", "cog"};
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
begin="hit";
target="cog";
//visit=new boolean[words.length+1];
size=words.length;
map=new int [size][size];
visit=new boolean [size+1];
//map
for (int i = 0; i < size-1; i++) {
for (int j = i+1; j < size; j++) {
if(connect(words[i], words[j])) {
map[i][j]=map[j][i]=1;
}
}
}
//map
for (int i = 0; i < size; i++) {
for(int j=0; j<size;j++) {
if(map[i][j]==1&&!visit[i]) {
dfs(i);
}
}
}
System.out.println(block);
}
public static void dfs(int d) {
visit[d] = true;
for (int i = d+1; i < size; i++) {
if (map[d][i] == 1 && !visit[i]) {
System.out.println("i="+d+" j="+i+" 횟수="+block);
block++;
dfs(i);
}
}
}
public static boolean connect(String a, String b) {
char[] c1 = a.toCharArray();
char[] c2 = b.toCharArray();
int cnt = 0;
for (int i = 0; i < c1.length; i++) {
if (c1[i] != c2[i])
cnt++;
}
if (cnt == 1)
return true;
return false;
}
}