/in/foo.cc: In function 'll euler_phi(ll)':
/in/foo.cc:60:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
60 | for (auto [p, cnt] : factors) {
| ^
/in/foo.cc: In function 'void generate_divisors(const std::vector<std::pair<long long int, int> >&, int, ll, std::vector<long long int>&)':
/in/foo.cc:68:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
68 | if (index == factors.size()) {
| ~~~~~~^~~~~~~~~~~~~~~~~
/in/foo.cc: In function 'int main()':
/in/foo.cc:192:22: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
192 | auto [p, m_val] = st.top();
| ^