/in/foo.cc: In function 'll euler_phi(ll)':
/in/foo.cc:47:16: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
47 | 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:55:13: 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]
55 | if (idx == factors.size()) {
| ~~~~^~~~~~~~~~~~~~~~~
/in/foo.cc: In function 'int main()':
/in/foo.cc:179:18: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
179 | auto [curr_l, val] = mono_stack.top();
| ^