Language: C++

//C
#include <cassert>
#include <cctype>
#include <cerrno>
#include <cfloat>
#include <ciso646>
#include <climits>
#include <clocale>
#include <cmath>
#include <csetjmp>
#include <csignal>
#include <cstdarg>
#include <cstddef>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <ccomplex>
#include <cfenv>
#include <cinttypes>
#include <cstdalign>
#include <cstdbool>
#include <cstdint>
#include <ctgmath>
#include <cwchar>
#include <cwctype>

//C++
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#include <array>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <forward_list>
#include <future>
#include <initializer_list>
#include <mutex>
#include <random>
#include <ratio>
#include <regex>
#include <scoped_allocator>
#include <system_error>
#include <thread>
#include <tuple>
#include <typeindex>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>

//Others
template<class T> inline bool chmin(T& a, T b) {
	if (a > b) {
		a = b;
		return true;
	}
	return false;
}
template<class T> inline bool chmax(T& a, T b) {
	if (a < b) {
		a = b;
		return true;
	}
	return false;
}
const int dx[8] = { -1,0,1,-1,1,-1,0,1 };
const int dy[8] = { 1,1,1,0,0,-1,-1,-1 };


//LOVE NyantakoGG	https://www.youtube.com/channel/UC6XdFs8T6Ei54O0FYl3PVVA


using namespace std;



int main() {
	int N;
	cin >> N;
	map<char, int>mp;
	for (int i = 0; i < N; i++) {
		char c;
		cin >> c;
		mp[c] = 1;
	}
	int ans = 0;
	for (auto it = mp.begin(); it != mp.end; ++it) {
		ans += it->second;
	}
	if (ans == 3) {
		cout << "Three" << endl;
	}
	else {
		cout << "Four" << endl;
	}
}


Compiler output:
a.cc: In function 'int main()':
a.cc:115:39: error: no match for 'operator!=' (operand types are 'std::_Rb_tree_iterator<std::pair<const char, int> >' and '<unresolved overloaded function type>')
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                    ~~ ^~ ~~~~~~
      |                                    |        |
      |                                    |        <unresolved overloaded function type>
      |                                    std::_Rb_tree_iterator<std::pair<const char, int> >
In file included from /usr/include/c++/14/regex:68,
                 from a.cc:69:
/usr/include/c++/14/bits/regex.h:1132:5: note: candidate: 'template<class _BiIter> bool std::__cxx11::operator!=(const sub_match<_BiIter>&, const sub_match<_BiIter>&)'
 1132 |     operator!=(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs)
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1132:5: note:   template argument deduction/substitution failed:
a.cc:115:45: note:   'std::_Rb_tree_iterator<std::pair<const char, int> >' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                             ^~~
/usr/include/c++/14/bits/regex.h:1212:5: note: candidate: 'template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator!=(__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&, const sub_match<_BiIter>&)'
 1212 |     operator!=(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1212:5: note:   template argument deduction/substitution failed:
a.cc:115:45: note:   'std::_Rb_tree_iterator<std::pair<const char, int> >' is not derived from 'std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>'
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                             ^~~
/usr/include/c++/14/bits/regex.h:1305:5: note: candidate: 'template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator!=(const sub_match<_BiIter>&, __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&)'
 1305 |     operator!=(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1305:5: note:   template argument deduction/substitution failed:
a.cc:115:45: note:   'std::_Rb_tree_iterator<std::pair<const char, int> >' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                             ^~~
/usr/include/c++/14/bits/regex.h:1379:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator!=(const typename std::iterator_traits<_Iter>::value_type*, const sub_match<_BiIter>&)'
 1379 |     operator!=(typename iterator_traits<_Bi_iter>::value_type const* __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1379:5: note:   template argument deduction/substitution failed:
a.cc:115:45: note:   mismatched types 'const std::__cxx11::sub_match<_BiIter>' and 'std::map<char, int>::const_iterator (std::map<char, int>::*)() const noexcept' {aka 'std::_Rb_tree<char, std::pair<const char, int>, std::_Select1st<std::pair<const char, int> >, std::less<char>, std::allocator<std::pair<const char, int> > >::const_iterator (std::map<char, int>::*)() const noexcept'}
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                             ^~~
a.cc:115:45: note:   mismatched types 'const std::__cxx11::sub_match<_BiIter>' and 'std::map<char, int>::iterator (std::map<char, int>::*)() noexcept' {aka 'std::_Rb_tree<char, std::pair<const char, int>, std::_Select1st<std::pair<const char, int> >, std::less<char>, std::allocator<std::pair<const char, int> > >::iterator (std::map<char, int>::*)() noexcept'}
a.cc:115:45: note:   couldn't deduce template parameter '_Bi_iter'
/usr/include/c++/14/bits/regex.h:1473:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator!=(const sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type*)'
 1473 |     operator!=(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1473:5: note:   template argument deduction/substitution failed:
a.cc:115:45: note:   'std::_Rb_tree_iterator<std::pair<const char, int> >' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                             ^~~
/usr/include/c++/14/bits/regex.h:1547:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator!=(const typename std::iterator_traits<_Iter>::value_type&, const sub_match<_BiIter>&)'
 1547 |     operator!=(typename iterator_traits<_Bi_iter>::value_type const& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1547:5: note:   template argument deduction/substitution failed:
a.cc:115:45: note:   mismatched types 'const std::__cxx11::sub_match<_BiIter>' and 'std::map<char, int>::const_iterator (std::map<char, int>::*)() const noexcept' {aka 'std::_Rb_tree<char, std::pair<const char, int>, std::_Select1st<std::pair<const char, int> >, std::less<char>, std::allocator<std::pair<const char, int> > >::const_iterator (std::map<char, int>::*)() const noexcept'}
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                             ^~~
a.cc:115:45: note:   mismatched types 'const std::__cxx11::sub_match<_BiIter>' and 'std::map<char, int>::iterator (std::map<char, int>::*)() noexcept' {aka 'std::_Rb_tree<char, std::pair<const char, int>, std::_Select1st<std::pair<const char, int> >, std::less<char>, std::allocator<std::pair<const char, int> > >::iterator (std::map<char, int>::*)() noexcept'}
a.cc:115:45: note:   couldn't deduce template parameter '_Bi_iter'
/usr/include/c++/14/bits/regex.h:1647:5: note: candidate: 'template<class _Bi_iter> bool std::__cxx11::operator!=(const sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type&)'
 1647 |     operator!=(const sub_match<_Bi_iter>& __lhs,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:1647:5: note:   template argument deduction/substitution failed:
a.cc:115:45: note:   'std::_Rb_tree_iterator<std::pair<const char, int> >' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                             ^~~
/usr/include/c++/14/bits/regex.h:2213:5: note: candidate: 'template<class _Bi_iter, class _Alloc> bool std::__cxx11::operator!=(const match_results<_BiIter, _Alloc>&, const match_results<_BiIter, _Alloc>&)'
 2213 |     operator!=(const match_results<_Bi_iter, _Alloc>& __m1,
      |     ^~~~~~~~
/usr/include/c++/14/bits/regex.h:2213:5: note:   template argument deduction/substitution failed:
a.cc:115:45: note:   'std::_Rb_tree_iterator<std::pair<const char, int> >' is not derived from 'const std::__cxx11::match_results<_BiIter, _Alloc>'
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                             ^~~
In file included from /usr/include/c++/14/bits/stl_algobase.h:64,
                 from /usr/include/c++/14/bits/specfun.h:43,
                 from /usr/include/c++/14/cmath:3906,
                 from a.cc:9:
/usr/include/c++/14/bits/stl_pair.h:1052:5: note: candidate: 'template<class _T1, class _T2> constexpr bool std::operator!=(const pair<_T1, _T2>&, const pair<_T1, _T2>&)'
 1052 |     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_pair.h:1052:5: note:   template argument deduction/substitution failed:
a.cc:115:45: note:   'std::_Rb_tree_iterator<std::pair<const char, int> >' is not derived from 'const std::pair<_T1, _T2>'
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                             ^~~
In file included from /usr/include/c++/14/bits/stl_algobase.h:67:
/usr/include/c++/14/bits/stl_iterator.h:455:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator!=(const reverse_iterator<_Iterator>&, const reverse_iterator<_Iterator>&)'
  455 |     operator!=(const reverse_iterator<_Iterator>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:455:5: note:   template argument deduction/substitution failed:
a.cc:115:45: note:   'std::_Rb_tree_iterator<std::pair<const char, int> >' is not derived from 'const std::reverse_iterator<_Iterator>'
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                             ^~~
/usr/include/c++/14/bits/stl_iterator.h:500:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator!=(const reverse_iterator<_Iterator>&, const reverse_iterator<_IteratorR>&)'
  500 |     operator!=(const reverse_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:500:5: note:   template argument deduction/substitution failed:
a.cc:115:45: note:   'std::_Rb_tree_iterator<std::pair<const char, int> >' is not derived from 'const std::reverse_iterator<_Iterator>'
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                             ^~~
/usr/include/c++/14/bits/stl_iterator.h:1686:5: note: candidate: 'template<class _IteratorL, class _IteratorR> constexpr bool std::operator!=(const move_iterator<_IteratorL>&, const move_iterator<_IteratorR>&)'
 1686 |     operator!=(const move_iterator<_IteratorL>& __x,
      |     ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator.h:1686:5: note:   template argument deduction/substitution failed:
a.cc:115:45: note:   'std::_Rb_tree_iterator<std::pair<const char, int> >' is not derived from 'const std::move_iterator<_IteratorL>'
  115 |         for (auto it = mp.begin(); it != mp.end; ++it) {
      |                                             ^~~
/usr/include/c++/14/bits/stl_iterator.h:1753:5: note: candidate: 'template<class _Iterator> constexpr bool std::operator!=(const move_