#include <iostream>
using namespace std;
int k = 0;
int n = 0;
int main() {
char c;
char a[1000];
do
{
cin.get(c);
if(c>='A'&&c<='Z'){ //将大写转换为小写
c=c+32;
}
a[k++] = c; //把字符放入数组中
} while (c != '\n');
k = k - 1; // k = 有效字符长度
//cout << k << endl;
for (int i = 0; i <= k - 1; i++)
{
if (a[i] == 't' && a[i+1] == 'h' && a[i+2] == 'e' && a[3] == ' ' && k >= 4 && i == 0) { //如果k大于等于4 判断头三个是否构成单词the
n++;
}
if (i >= 1 && k>=5 && a[i - 1] == ' ' && a[i] == 't' && a[i + 1] == 'h' && a[i + 2] == 'e' && a[i + 3] == ' ') { //如果k大于等于5 并要求 i>=1 出现空格the空格 n++
n++;
}
if (i+2 == k-1 && a[i-1]==' ' && a[i] == 't' && a[i + 1] == 'h' && a[i + 2] == 'e') { //当i执行到倒数第三个 判断最后三个字母是否构成the
n++;
}
if (k == 3 && a[i] == 't' && a[i+1] == 'h' && a[i+2] == 'e' && i == 0) //如果k==3 看这个三个字母是否构成the
{
n++;
}
}
cout << n;
}