combo.cpp: In function 'void f(std::string)':
combo.cpp:12:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
12 | if (n <= S.size()) return void (ans = S);
| ~~^~~~~~~~~~~
combo.cpp:15:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
15 | if (coin == S.size()) f(S+c[s+1]);
| ~~~~~^~~~~~~~~~~
combo.cpp:16:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
16 | if (coin == S.size()+1) g(S+c[s+2]+c[s+3], S+c[s+3]+c[s+2], S+c[s+3]+c[s+1]);
| ~~~~~^~~~~~~~~~~~~
combo.cpp:17:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
17 | if (coin == S.size()+2) g(S+c[s+3]+c[s+3], S+c[s+2]+c[s+2], S+c[s+2]+c[s+1]);
| ~~~~~^~~~~~~~~~~~~
combo.cpp: In function 'void g(std::string, std::string, std::string)':
combo.cpp:23:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
23 | if (coin == S3.size()) f(S3);
| ~~~~~^~~~~~~~~~~~
combo.cpp:24:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
24 | if (coin == S3.size()-1) f(S2);
| ~~~~~^~~~~~~~~~~~~~
combo.cpp:25:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
25 | if (coin == S3.size()-2) f(S1);
| ~~~~~^~~~~~~~~~~~~~