제출 #1206635

#제출 시각아이디문제언어결과실행 시간메모리
1206635tin_le늑대인간 (IOI18_werewolf)C++20
컴파일 에러
0 ms0 KiB
//████████╗██╗███╗░░██╗  ██╗░░░░░███████╗
//╚══██╔══╝██║████╗░██║  ██║░░░░░██╔════╝
//░░░██║░░░██║██╔██╗██║  ██║░░░░░█████╗░░
//░░░██║░░░██║██║╚████║  ██║░░░░░██╔══╝░░
//░░░██║░░░██║██║░╚███║  ███████╗███████╗
//░░░╚═╝░░░╚═╝╚═╝░░╚══╝  ╚══════╝╚══════╝
//   __________________
//  | ________________ |
//  ||          ____  ||
//  ||   /\    |      ||
//  ||  /__\   |      ||
//  || /    \  |____  ||
//  ||________________||
//  |__________________|
//  \###################\
//   \###################\
//    \        ____       \
//     \_______\___\_______\
// An AC a day keeps the doctor away.

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <vector>
#include <set>
#include <map>
#include <unordered_set>
#include <unordered_map>
#include <queue>
#include <ctime>
#include <cassert>
#include <complex>
#include <string>
#include <cstring>
#include <chrono>
#include <random>
#include <bitset>
#include <iomanip>
#include <functional>
#include <numeric>
#include <stack>
#include <array>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
template<class T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
#define vt vector
#define all(x) begin(x), end(x)
#define allr(x) rbegin(x), rend(x)
#define ub upper_bound
#define lb lower_bound
#define db double
#define ld long db
#define ll long long
#define ull unsigned long long
#define vll vt<ll>  
#define vvll vt<vll>
#define pll pair<ll, ll>    
#define vpll vt<pll>
#define vvpll vt<vpll>
#define vc vt<char> 
#define vvc vt<vc>
#define vi vt<int>
#define vvi vt<vi>
#define vvvi vt<vvi>
#define pii pair<int, int>
#define vpii vt<pii>
#define vs vt<string>
#define vvs vt<vs>
#define vb vt<bool>
#define vvb vt<vb>
#define vvpii vt<vpii>
#define vd vt<db>
#define ar(x) array<int, x>
#define var(x) vt<ar(x)>
#define vvar(x) vt<var(x)>
#define al(x) array<ll, x>
#define vall(x) vt<al(x)>
#define vvall(x) vt<vall(x)>
#define mset(m, v) memset(m, v, sizeof(m))
#define pb push_back
#define ff first
#define ss second
#define sv string_view
#define MP make_pair
#define MT make_tuple
#define rsz resize
#define sum(x) (ll)accumulate(all(x), 0LL)
#define srt(x) sort(all(x))
#define srtR(x) sort(allr(x))
#define srtU(x) sort(all(x)), (x).erase(unique(all(x)), (x).end())
#define SORTED(x) is_sorted(all(x))
#define rev(x) reverse(all(x))
#define MAX(a) *max_element(all(a)) 
#define MIN(a) *min_element(all(a))
#define ROTATE(a, p) rotate(begin(a), begin(a) + p, end(a))
#define i128 __int128

//SGT DEFINE
#define lc i * 2 + 1
#define rc i * 2 + 2
#define lp lc, left, middle
#define rp rc, middle + 1, right
#define entireTree 0, 0, n - 1
#define midPoint left + (right - left) / 2
#define pushDown push(i, left, right)
#define iter int i, int left, int right

#define IOS ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)

struct custom {
    static const uint64_t C = 0x9e3779b97f4a7c15; const uint32_t RANDOM = std::chrono::steady_clock::now().time_since_epoch().count();
    size_t operator()(uint64_t x) const { return __builtin_bswap64((x ^ RANDOM) * C); }
    size_t operator()(const std::string& s) const { size_t hash = std::hash<std::string>{}(s); return hash ^ RANDOM; } };
template <class K, class V> using umap = std::unordered_map<K, V, custom>; template <class K> using uset = std::unordered_set<K, custom>;
template<class T> using max_heap = priority_queue<T>;
template<class T> using min_heap = priority_queue<T, vector<T>, greater<T>>;
    
template<typename T, size_t N>
istream& operator>>(istream& is, array<T, N>& arr) {
    for (size_t i = 0; i < N; i++) { is >> arr[i]; } return is;
}

template<typename T, size_t N>
istream& operator>>(istream& is, vector<array<T, N>>& vec) {
    for (auto &arr : vec) { is >> arr; } return is;
}

inline std::ostream& operator<<(std::ostream& os, i128 x) {
    if(x == 0) { os << '0'; return os; } if(x < 0) { os << '-'; x = -x; }
    string s; while (x > 0) { int digit = int(x % 10); s.pb(char('0' + digit)); x /= 10; }
    rev(s); os << s; return os;
}
    
template <typename T1, typename T2>  istream &operator>>(istream& in, pair<T1, T2>& input) {    return in >> input.ff >> input.ss; }
    
template <typename T> istream &operator>>(istream &in, vector<T> &v) { for (auto &el : v) in >> el; return in; }

template<class T>
void output_vector(vt<T>& a, int off_set = 0) {
    int n = a.size();
    for(int i = off_set; i < n; i++) {
        cout << a[i] << (i == n - 1 ? '\n' : ' ');
    }
}

template<typename T, typename Compare>
vi closest_left(const vt<T>& a, Compare cmp) {
    int n = a.size(); vi closest(n); iota(all(closest), 0);
    for (int i = 0; i < n; i++) {
        auto& j = closest[i];
        while(j && cmp(a[i], a[j - 1])) j = closest[j - 1];
    }
    return closest;
}

template<typename T, typename Compare> // auto right = closest_right<int>(a, std::less<int>());
vi closest_right(const vt<T>& a, Compare cmp) {
    int n = a.size(); vi closest(n); iota(all(closest), 0);
    for (int i = n - 1; i >= 0; i--) {
        auto& j = closest[i];
        while(j < n - 1 && cmp(a[i], a[j + 1])) j = closest[j + 1];
    }
    return closest;
}

template<typename T, typename V = string>
vt<pair<T, int>> encode(const V& s) {
    vt<pair<T, int>> seg;
    for(auto& ch : s) {
        if(seg.empty() || ch != seg.back().ff) seg.pb({ch, 1});
        else seg.back().ss++;
    }
    return seg;
}

    
template<typename K, typename V>
auto operator<<(std::ostream &o, const std::map<K, V> &m) -> std::ostream& {
    o << "{"; int i = 0;
    for (const auto &[key, value] : m) { if (i++) o << " , "; o << key << " : " << value; }
    return o << "}";
}

#ifdef LOCAL
#define debug(x...) debug_out(#x, x)
void debug_out(const char* names) { std::cerr << std::endl; }
template <typename T, typename... Args>
void debug_out(const char* names, T value, Args... args) {
    const char* comma = strchr(names, ',');
    std::cerr << "[" << (comma ? std::string(names, comma) : names) << " = " << value << "]";
    if (sizeof...(args)) { std::cerr << ", "; debug_out(comma + 1, args...); }   
    else { std::cerr << std::endl; }
}
template<typename T1, typename T2>
std::ostream& operator<<(std::ostream& o, const std::pair<T1, T2>& p) { return o << "{" << p.ff << " , " << p.ss << "}"; }
auto operator<<(auto &o, const auto &x) -> decltype(end(x), o) {
    o << "{"; int i = 0; for (const auto &e : x) { if (i++) o << " , "; o << e; } return o << "}";
} // remove for leetcode
#include <sys/resource.h>
#include <sys/time.h>
void printMemoryUsage() {
    struct rusage usage;
    getrusage(RUSAGE_SELF, &usage);
    double memoryMB = usage.ru_maxrss / 1024.0;
    cerr << "Memory usage: " << memoryMB << " MB" << "\n";
}

#define startClock clock_t tStart = clock();
#define endClock std::cout << std::fixed << std::setprecision(10) << "\nTime Taken: " << (double)(clock() - tStart) / CLOCKS_PER_SEC << " seconds" << std::endl;
#else
#define debug(...)
#define startClock
#define endClock

#endif
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

#define eps 1e-9
#define M_PI 3.14159265358979323846
const static string pi = "3141592653589793238462643383279";
const static ll INF = 1LL << 62;
const static int inf = 1e9 + 100;
const static int MK = 20;
const static int MX = 1e5 + 5;
ll gcd(ll a, ll b) { while (b != 0) { ll temp = b; b = a % b; a = temp; } return a; }
ll lcm(ll a, ll b) { return (a / gcd(a, b)) * b; }
ll floor(ll a, ll b) { if(b < 0) a = -a, b = -b; if (a >= 0) return a / b; return a / b - (a % b ? 1 : 0); }
ll ceil(ll a, ll b) { if (b < 0) a = -a, b = -b; if (a >= 0) return (a + b - 1) / b; return a / b; }
int pct(ll x) { return __builtin_popcountll(x); }
ll have_bit(ll x, int b) { return x & (1LL << b); }
int min_bit(ll x) { return __builtin_ctzll(x); }
int max_bit(ll x) { return 63 - __builtin_clzll(x); } 
const vvi dirs = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}, {1, 1}, {-1, -1}, {1, -1}, {-1, 1}}; // UP, DOWN, LEFT, RIGHT
const vvi knight_dirs = {{-2, -1}, {-2,  1}, {-1, -2}, {-1,  2}, {1, -2}, {1,  2}, {2, -1}, {2,  1}}; // knight dirs
const vc dirChar = {'U', 'D', 'L', 'R'};
int modExpo(ll base, ll exp, ll mod) { ll res = 1; base %= mod; while(exp) { if(exp & 1) res = (res * base) % mod; base = (base * base) % mod; exp >>= 1; } return res; }
ll extended_gcd(ll a, ll b, ll &x, ll &y) { if (b == 0) { x = 1; y = 0; return a; } ll d = extended_gcd(b, a % b, y, x); y -= (a / b) * x; return d; }
ll modInv(ll a, ll m) { ll x, y; ll g = extended_gcd(a, m, x, y); if (g != 1) { return -1; } x %= m; if (x < 0) x += m; return x; }
int modExpo_on_string(ll a, string exp, int mod) { ll b = 0; for(auto& ch : exp) b = (b * 10 + (ch - '0')) % (mod - 1); return modExpo(a, b, mod); }
ll sum_even_series(ll n) { return (n / 2) * (n / 2 + 1);} 
ll sum_odd_series(ll n) {return n - sum_even_series(n);} // sum of first n odd number is n ^ 2
ll sum_of_square(ll n) { return n * (n + 1) * (2 * n + 1) / 6; } // sum of 1 + 2 * 2 + 3 * 3 + 4 * 4 + ... + n * n
string make_lower(const string& t) { string s = t; transform(all(s), s.begin(), [](unsigned char c) { return tolower(c); }); return s; }
string make_upper(const string&t) { string s = t; transform(all(s), s.begin(), [](unsigned char c) { return toupper(c); }); return s; }
ll sqrt(ll n) { ll t = sqrtl(n); while(t * t < n) t++; while(t * t > n) t--; return t;}
bool is_perm(ll sm, ll square_sum, ll len) {return sm == len * (len + 1) / 2 && square_sum == len * (len + 1) * (2 * len + 1) / 6;} // determine if an array is a permutation base on sum and square_sum
bool is_vowel(char c) {return c == 'a' || c == 'e' || c == 'u' || c == 'o' || c == 'i';}

class DSU { 
public: 
    int n, comp;  
    vi root, rank, col;  
    bool is_bipartite;  
    DSU(int n) {    
        this->n = n;    
        comp = n;
        root.rsz(n, -1), rank.rsz(n, 1), col.rsz(n, 0);
        is_bipartite = true;
    }
    
    int find(int x) {   
        if(root[x] == -1) return x; 
        int p = find(root[x]);
        col[x] ^= col[root[x]];
        return root[x] = p;
    }
    
    bool merge(int u, int v) {  
        u = find(u), v = find(v);   
        if(u == v) {    
            if(col[u] == col[v]) 
                is_bipartite = false;
            return false;
        }
        if(rank[v] > rank[u]) swap(u, v); 
        comp--;
        root[v] = u;
        col[v] = col[u] ^ col[v] ^ 1;
        rank[u] += rank[v];
        return true;
    }
    
    bool same(int u, int v) {    
        return find(u) == find(v);
    }
    
    int get_rank(int x) {    
        return rank[find(x)];
    }
    
	vvi get_group() {
        vvi ans(n);
        for(int i = 0; i < n; i++) {
            ans[find(i)].pb(i);
        }
        sort(all(ans), [](const vi& a, const vi& b) {return a.size() > b.size();});
        while(!ans.empty() && ans.back().empty()) ans.pop_back();
        return ans;
    }

};

std::vector<int> check_validity(int n,
    std::vector<int> X,
    std::vector<int> Y,
    std::vector<int> S,
    std::vector<int> E,
    std::vector<int> L,
    std::vector<int> R)
{
    int m = X.size();           // number of edges = n-1
    int q = S.size();           // number of queries
    // build adjacency list
    std::vector<std::vector<int>> adj(n+1);
    for(int i = 0; i < m; i++){
        adj[X[i]].push_back(Y[i]);
        adj[Y[i]].push_back(X[i]);
    }

    std::vector<int> ans(q, 0);

    // for each query, do two BFS's and check overlap
    for(int i = 0; i < q; i++){
        int s = S[i], e = E[i];
        int l = L[i], r = R[i];

        // mask which vertices are allowed in human / wolf phases
        std::vector<char> okH(n+1), okW(n+1);
        for(int v = 1; v <= n; v++){
            okH[v] = (v > l);   // human: rank must be > L
            okW[v] = (v < r);   // wolf:  rank must be < R
        }

        // BFS from s on human‐allowed subgraph
        std::vector<char> reachH(n+1, 0), seen(n+1, 0);
        if(okH[s]){
            std::queue<int> bfs;
            bfs.push(s);
            seen[s] = 1;
            reachH[s] = 1;
            while(!bfs.empty()){
                int u = bfs.front(); bfs.pop();
                for(int v: adj[u]){
                    if(!seen[v] && okH[v]){
                        seen[v] = 1;
                        reachH[v] = 1;
                        bfs.push(v);
                    }
                }
            }
        }

        // BFS from e on wolf‐allowed subgraph
        std::vector<char> reachW(n+1, 0);
        std::fill(seen.begin(), seen.end(), 0);
        if(okW[e]){
            std::queue<int> bfs;
            bfs.push(e);
            seen[e] = 1;
            reachW[e] = 1;
            while(!bfs.empty()){
                int u = bfs.front(); bfs.pop();
                for(int v: adj[u]){
                    if(!seen[v] && okW[v]){
                        seen[v] = 1;
                        reachW[v] = 1;
                        bfs.push(v);
                    }
                }
            }
        }

        // check if there is any transform‐city T in (L, R) reachable in both
        bool possible = false;
        for(int T = l+1; T < r; T++){
            if(reachH[T] && reachW[T]){
                possible = true;
                break;
            }
        }
        ans[i] = possible ? 1 : 0;
    }

    return ans;
}

void solve() {
    vi X = {5, 1, 1, 3, 3, 5}, Y = {1, 2, 3, 4, 0, 2}, S = {4, 4, 5}, E = {2, 2, 4}, L = {1, 2, 3}, R = {2, 2, 4};
    cout << check_validity(6, X, Y, S, E, L, R) << '\n';
}

signed main() {
    // careful for overflow, check for long long, use unsigned long long for random generator
    // when mle, look if problem require read in file, typically old problems
    IOS;
    startClock
    //generatePrime();

    int t = 1;
    //cin >> t;
    for(int i = 1; i <= t; i++) {   
        //cout << "Case #" << i << ": ";  
        solve();
    }

    endClock
    #ifdef LOCAL
      printMemoryUsage();
    #endif

    return 0;
}

//███████████████████████████████████████████████████████████████████████████████████████████████████████
//█░░░░░░░░░░░░░░█░░░░░░██████████░░░░░░█░░░░░░░░░░░░███░░░░░░░░░░█░░░░░░██████████░░░░░░█░░░░░░░░░░░░░░█
//█░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀░░░░░░░░░░██░░▄▀░░█░░▄▀▄▀▄▀▄▀░░░░█░░▄▀▄▀▄▀░░█░░▄▀░░░░░░░░░░██░░▄▀░░█░░▄▀▄▀▄▀▄▀▄▀░░█
//█░░▄▀░░░░░░░░░░█░░▄▀▄▀▄▀▄▀▄▀░░██░░▄▀░░█░░▄▀░░░░▄▀▄▀░░█░░░░▄▀░░░░█░░▄▀▄▀▄▀▄▀▄▀░░██░░▄▀░░█░░▄▀░░░░░░░░░░█
//█░░▄▀░░█████████░░▄▀░░░░░░▄▀░░██░░▄▀░░█░░▄▀░░██░░▄▀░░███░░▄▀░░███░░▄▀░░░░░░▄▀░░██░░▄▀░░█░░▄▀░░█████████
//█░░▄▀░░░░░░░░░░█░░▄▀░░██░░▄▀░░██░░▄▀░░█░░▄▀░░██░░▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░██░░▄▀░░█░░▄▀░░█████████
//█░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀░░██░░▄▀░░██░░▄▀░░█░░▄▀░░██░░▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░██░░▄▀░░█░░▄▀░░██░░░░░░█
//█░░▄▀░░░░░░░░░░█░░▄▀░░██░░▄▀░░██░░▄▀░░█░░▄▀░░██░░▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░██░░▄▀░░█░░▄▀░░██░░▄▀░░█
//█░░▄▀░░█████████░░▄▀░░██░░▄▀░░░░░░▄▀░░█░░▄▀░░██░░▄▀░░███░░▄▀░░███░░▄▀░░██░░▄▀░░░░░░▄▀░░█░░▄▀░░██░░▄▀░░█
//█░░▄▀░░░░░░░░░░█░░▄▀░░██░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀░░░░▄▀▄▀░░█░░░░▄▀░░░░█░░▄▀░░██░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀░░░░░░▄▀░░█
//█░░▄▀▄▀▄▀▄▀▄▀░░█░░▄▀░░██░░░░░░░░░░▄▀░░█░░▄▀▄▀▄▀▄▀░░░░█░░▄▀▄▀▄▀░░█░░▄▀░░██░░░░░░░░░░▄▀░░█░░▄▀▄▀▄▀▄▀▄▀░░█
//█░░░░░░░░░░░░░░█░░░░░░██████████░░░░░░█░░░░░░░░░░░░███░░░░░░░░░░█░░░░░░██████████░░░░░░█░░░░░░░░░░░░░░█
//███████████████████████████████████████████████████████████████████████████████████████████████████████

컴파일 시 표준 에러 (stderr) 메시지

werewolf.cpp: In function 'void solve()':
werewolf.cpp:393:10: error: no match for 'operator<<' (operand types are 'std::ostream' {aka 'std::basic_ostream<char>'} and 'std::vector<int>')
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |     ~~~~ ^~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |     |                     |
      |     |                     std::vector<int>
      |     std::ostream {aka std::basic_ostream<char>}
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:108:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ostream_type& (*)(std::basic_ostream<_CharT, _Traits>::__ostream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |       ^~~~~~~~
/usr/include/c++/11/ostream:108:36: note:   no known conversion for argument 1 from 'std::vector<int>' to 'std::basic_ostream<char>::__ostream_type& (*)(std::basic_ostream<char>::__ostream_type&)' {aka 'std::basic_ostream<char>& (*)(std::basic_ostream<char>&)'}
  108 |       operator<<(__ostream_type& (*__pf)(__ostream_type&))
      |                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/ostream:117:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__ios_type& (*)(std::basic_ostream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::basic_ostream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]'
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |       ^~~~~~~~
/usr/include/c++/11/ostream:117:32: note:   no known conversion for argument 1 from 'std::vector<int>' to 'std::basic_ostream<char>::__ios_type& (*)(std::basic_ostream<char>::__ios_type&)' {aka 'std::basic_ios<char>& (*)(std::basic_ios<char>&)'}
  117 |       operator<<(__ios_type& (*__pf)(__ios_type&))
      |                  ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/c++/11/ostream:127:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |       ^~~~~~~~
/usr/include/c++/11/ostream:127:30: note:   no known conversion for argument 1 from 'std::vector<int>' to 'std::ios_base& (*)(std::ios_base&)'
  127 |       operator<<(ios_base& (*__pf) (ios_base&))
      |                  ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/usr/include/c++/11/ostream:166:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  166 |       operator<<(long __n)
      |       ^~~~~~~~
/usr/include/c++/11/ostream:166:23: note:   no known conversion for argument 1 from 'std::vector<int>' to 'long int'
  166 |       operator<<(long __n)
      |                  ~~~~~^~~
/usr/include/c++/11/ostream:170:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  170 |       operator<<(unsigned long __n)
      |       ^~~~~~~~
/usr/include/c++/11/ostream:170:32: note:   no known conversion for argument 1 from 'std::vector<int>' to 'long unsigned int'
  170 |       operator<<(unsigned long __n)
      |                  ~~~~~~~~~~~~~~^~~
/usr/include/c++/11/ostream:174:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  174 |       operator<<(bool __n)
      |       ^~~~~~~~
/usr/include/c++/11/ostream:174:23: note:   no known conversion for argument 1 from 'std::vector<int>' to 'bool'
  174 |       operator<<(bool __n)
      |                  ~~~~~^~~
In file included from /usr/include/c++/11/ostream:829,
                 from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/bits/ostream.tcc:91:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits<char>]'
   91 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/ostream.tcc:92:22: note:   no known conversion for argument 1 from 'std::vector<int>' to 'short int'
   92 |     operator<<(short __n)
      |                ~~~~~~^~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:181:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  181 |       operator<<(unsigned short __n)
      |       ^~~~~~~~
/usr/include/c++/11/ostream:181:33: note:   no known conversion for argument 1 from 'std::vector<int>' to 'short unsigned int'
  181 |       operator<<(unsigned short __n)
      |                  ~~~~~~~~~~~~~~~^~~
In file included from /usr/include/c++/11/ostream:829,
                 from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/bits/ostream.tcc:105:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits<char>]'
  105 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/ostream.tcc:106:20: note:   no known conversion for argument 1 from 'std::vector<int>' to 'int'
  106 |     operator<<(int __n)
      |                ~~~~^~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:192:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  192 |       operator<<(unsigned int __n)
      |       ^~~~~~~~
/usr/include/c++/11/ostream:192:31: note:   no known conversion for argument 1 from 'std::vector<int>' to 'unsigned int'
  192 |       operator<<(unsigned int __n)
      |                  ~~~~~~~~~~~~~^~~
/usr/include/c++/11/ostream:201:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  201 |       operator<<(long long __n)
      |       ^~~~~~~~
/usr/include/c++/11/ostream:201:28: note:   no known conversion for argument 1 from 'std::vector<int>' to 'long long int'
  201 |       operator<<(long long __n)
      |                  ~~~~~~~~~~^~~
/usr/include/c++/11/ostream:205:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  205 |       operator<<(unsigned long long __n)
      |       ^~~~~~~~
/usr/include/c++/11/ostream:205:37: note:   no known conversion for argument 1 from 'std::vector<int>' to 'long long unsigned int'
  205 |       operator<<(unsigned long long __n)
      |                  ~~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/11/ostream:220:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  220 |       operator<<(double __f)
      |       ^~~~~~~~
/usr/include/c++/11/ostream:220:25: note:   no known conversion for argument 1 from 'std::vector<int>' to 'double'
  220 |       operator<<(double __f)
      |                  ~~~~~~~^~~
/usr/include/c++/11/ostream:224:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  224 |       operator<<(float __f)
      |       ^~~~~~~~
/usr/include/c++/11/ostream:224:24: note:   no known conversion for argument 1 from 'std::vector<int>' to 'float'
  224 |       operator<<(float __f)
      |                  ~~~~~~^~~
/usr/include/c++/11/ostream:232:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  232 |       operator<<(long double __f)
      |       ^~~~~~~~
/usr/include/c++/11/ostream:232:30: note:   no known conversion for argument 1 from 'std::vector<int>' to 'long double'
  232 |       operator<<(long double __f)
      |                  ~~~~~~~~~~~~^~~
/usr/include/c++/11/ostream:245:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>]'
  245 |       operator<<(const void* __p)
      |       ^~~~~~~~
/usr/include/c++/11/ostream:245:30: note:   no known conversion for argument 1 from 'std::vector<int>' to 'const void*'
  245 |       operator<<(const void* __p)
      |                  ~~~~~~~~~~~~^~~
/usr/include/c++/11/ostream:250:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::nullptr_t) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__ostream_type = std::basic_ostream<char>; std::nullptr_t = std::nullptr_t]'
  250 |       operator<<(nullptr_t)
      |       ^~~~~~~~
/usr/include/c++/11/ostream:250:18: note:   no known conversion for argument 1 from 'std::vector<int>' to 'std::nullptr_t'
  250 |       operator<<(nullptr_t)
      |                  ^~~~~~~~~
In file included from /usr/include/c++/11/ostream:829,
                 from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/bits/ostream.tcc:119:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(std::basic_ostream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_ostream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]'
  119 |     basic_ostream<_CharT, _Traits>::
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/ostream.tcc:120:34: note:   no known conversion for argument 1 from 'std::vector<int>' to 'std::basic_ostream<char>::__streambuf_type*' {aka 'std::basic_streambuf<char>*'}
  120 |     operator<<(__streambuf_type* __sbin)
      |                ~~~~~~~~~~~~~~~~~~^~~~~~
werewolf.cpp:182:6: note: candidate: 'template<class K, class V> std::ostream& operator<<(std::ostream&, const std::map<K, V>&)'
  182 | auto operator<<(std::ostream &o, const std::map<K, V> &m) -> std::ostream& {
      |      ^~~~~~~~
werewolf.cpp:182:6: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::map<K, V>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/bits/basic_string.h:48,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/string_view:667:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, std::basic_string_view<_CharT, _Traits>)'
  667 |     operator<<(basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/string_view:667:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'std::basic_string_view<_CharT, _Traits>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/bits/basic_string.h:6531:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
 6531 |     operator<<(basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/basic_string.h:6531:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/bits/ios_base.h:46,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/system_error:279:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::error_code&)'
  279 |     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
      |     ^~~~~~~~
/usr/include/c++/11/system_error:279:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'const std::error_code&'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:513:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, _CharT)'
  513 |     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
      |     ^~~~~~~~
/usr/include/c++/11/ostream:513:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   deduced conflicting types for parameter '_CharT' ('char' and 'std::vector<int>')
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:518:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, char)'
  518 |     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/11/ostream:518:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'char'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:524:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char)'
  524 |     operator<<(basic_ostream<char, _Traits>& __out, char __c)
      |     ^~~~~~~~
/usr/include/c++/11/ostream:524:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'char'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:530:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, signed char)'
  530 |     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
      |     ^~~~~~~~
/usr/include/c++/11/ostream:530:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'signed char'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:535:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, unsigned char)'
  535 |     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
      |     ^~~~~~~~
/usr/include/c++/11/ostream:535:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'unsigned char'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:544:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, wchar_t)' (deleted)
  544 |     operator<<(basic_ostream<char, _Traits>&, wchar_t) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:544:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'wchar_t'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:549:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char8_t)' (deleted)
  549 |     operator<<(basic_ostream<char, _Traits>&, char8_t) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:549:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'char8_t'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:554:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char16_t)' (deleted)
  554 |     operator<<(basic_ostream<char, _Traits>&, char16_t) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:554:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'char16_t'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:558:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, char32_t)' (deleted)
  558 |     operator<<(basic_ostream<char, _Traits>&, char32_t) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:558:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'char32_t'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:564:5: note: candidate: 'template<class _Traits> std::basic_ostream<wchar_t, _Traits>& std::operator<<(std::basic_ostream<wchar_t, _Traits>&, char8_t)' (deleted)
  564 |     operator<<(basic_ostream<wchar_t, _Traits>&, char8_t) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:564:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   mismatched types 'wchar_t' and 'char'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:569:5: note: candidate: 'template<class _Traits> std::basic_ostream<wchar_t, _Traits>& std::operator<<(std::basic_ostream<wchar_t, _Traits>&, char16_t)' (deleted)
  569 |     operator<<(basic_ostream<wchar_t, _Traits>&, char16_t) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:569:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   mismatched types 'wchar_t' and 'char'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:573:5: note: candidate: 'template<class _Traits> std::basic_ostream<wchar_t, _Traits>& std::operator<<(std::basic_ostream<wchar_t, _Traits>&, char32_t)' (deleted)
  573 |     operator<<(basic_ostream<wchar_t, _Traits>&, char32_t) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:573:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   mismatched types 'wchar_t' and 'char'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:594:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const _CharT*)'
  594 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
      |     ^~~~~~~~
/usr/include/c++/11/ostream:594:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   mismatched types 'const _CharT*' and 'std::vector<int>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/ostream:829,
                 from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/bits/ostream.tcc:321:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const char*)'
  321 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/11/bits/ostream.tcc:321:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'const char*'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:611:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char*)'
  611 |     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/11/ostream:611:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'const char*'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:624:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const signed char*)'
  624 |     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
      |     ^~~~~~~~
/usr/include/c++/11/ostream:624:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'const signed char*'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:629:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const unsigned char*)'
  629 |     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
      |     ^~~~~~~~
/usr/include/c++/11/ostream:629:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'const unsigned char*'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:638:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const wchar_t*)' (deleted)
  638 |     operator<<(basic_ostream<char, _Traits>&, const wchar_t*) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:638:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'const wchar_t*'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:643:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char8_t*)' (deleted)
  643 |     operator<<(basic_ostream<char, _Traits>&, const char8_t*) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:643:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'const char8_t*'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:648:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char16_t*)' (deleted)
  648 |     operator<<(basic_ostream<char, _Traits>&, const char16_t*) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:648:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'const char16_t*'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:652:5: note: candidate: 'template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(std::basic_ostream<char, _Traits>&, const char32_t*)' (deleted)
  652 |     operator<<(basic_ostream<char, _Traits>&, const char32_t*) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:652:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'const char32_t*'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:658:5: note: candidate: 'template<class _Traits> std::basic_ostream<wchar_t, _Traits>& std::operator<<(std::basic_ostream<wchar_t, _Traits>&, const char8_t*)' (deleted)
  658 |     operator<<(basic_ostream<wchar_t, _Traits>&, const char8_t*) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:658:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   mismatched types 'wchar_t' and 'char'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:663:5: note: candidate: 'template<class _Traits> std::basic_ostream<wchar_t, _Traits>& std::operator<<(std::basic_ostream<wchar_t, _Traits>&, const char16_t*)' (deleted)
  663 |     operator<<(basic_ostream<wchar_t, _Traits>&, const char16_t*) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:663:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   mismatched types 'wchar_t' and 'char'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:667:5: note: candidate: 'template<class _Traits> std::basic_ostream<wchar_t, _Traits>& std::operator<<(std::basic_ostream<wchar_t, _Traits>&, const char32_t*)' (deleted)
  667 |     operator<<(basic_ostream<wchar_t, _Traits>&, const char32_t*) = delete;
      |     ^~~~~~~~
/usr/include/c++/11/ostream:667:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   mismatched types 'wchar_t' and 'char'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/iostream:39,
                 from werewolf.cpp:21:
/usr/include/c++/11/ostream:750:5: note: candidate: 'template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&)'
  750 |     operator<<(_Ostream&& __os, const _Tp& __x)
      |     ^~~~~~~~
/usr/include/c++/11/ostream:750:5: note:   template argument deduction/substitution failed:
/usr/include/c++/11/ostream: In substitution of 'template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<char>&; _Tp = std::vector<int>]':
werewolf.cpp:393:47:   required from here
/usr/include/c++/11/ostream:750:5: error: template constraint failure for 'template<class _Os, class _Tp>  requires (__derived_from_ios_base<_Os>) && requires(_Os& __os, const _Tp& __t) {__os << __t;} using __rvalue_stream_insertion_t = _Os&&'
/usr/include/c++/11/ostream:750:5: note: constraints not satisfied
/usr/include/c++/11/ostream: In substitution of 'template<class _Os, class _Tp>  requires (__derived_from_ios_base<_Os>) && requires(_Os& __os, const _Tp& __t) {__os << __t;} using __rvalue_stream_insertion_t = _Os&& [with _Os = std::basic_ostream<char>&; _Tp = std::vector<int>]':
/usr/include/c++/11/ostream:750:5:   required by substitution of 'template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<char>&; _Tp = std::vector<int>]'
werewolf.cpp:393:47:   required from here
/usr/include/c++/11/ostream:717:13:   required for the satisfaction of '__derived_from_ios_base<_Os>' [with _Os = std::basic_ostream<char, std::char_traits<char> >&]
/usr/include/c++/11/ostream:717:39: note: the expression 'is_class_v<_Tp> [with _Tp = std::basic_ostream<char, std::char_traits<char> >&]' evaluated to 'false'
  717 |     concept __derived_from_ios_base = is_class_v<_Tp>
      |                                       ^~~~~~~~~~~~~~~
In file included from werewolf.cpp:34:
/usr/include/c++/11/complex:555:5: note: candidate: 'template<class _Tp, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::complex<_Tp>&)'
  555 |     operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __x)
      |     ^~~~~~~~
/usr/include/c++/11/complex:555:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::complex<_Tp>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/random:49,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.h:1309:5: note: candidate: 'template<class _RandomNumberEngine, long unsigned int __w, class _UIntType, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::independent_bits_engine<_RandomNumberEngine, __w, _UIntType>&)'
 1309 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.h:1309:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::independent_bits_engine<_RandomNumberEngine, __w, _UIntType>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/random:51,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.tcc:901:5: note: candidate: 'template<class _IntType, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::uniform_int_distribution<_IntType>&)'
  901 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.tcc:901:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::uniform_int_distribution<_IntType>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/random:51,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.tcc:959:5: note: candidate: 'template<class _RealType, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::uniform_real_distribution<_IntType>&)'
  959 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.tcc:959:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::uniform_real_distribution<_IntType>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/random:51,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.tcc:2144:5: note: candidate: 'template<class _RealType, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::cauchy_distribution<_RealType>&)'
 2144 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.tcc:2144:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::cauchy_distribution<_RealType>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/random:51,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.tcc:1020:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::bernoulli_distribution&)'
 1020 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.tcc:1020:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:27: note:   cannot convert 'check_validity(int, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)(std::vector<int>(X), std::vector<int>(Y), std::vector<int>(S), std::vector<int>(E), std::vector<int>(L), std::vector<int>(R))' (type 'std::vector<int>') to type 'const std::bernoulli_distribution&'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |             ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/random:51,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.tcc:1101:5: note: candidate: 'template<class _IntType, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::geometric_distribution<_IntType>&)'
 1101 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.tcc:1101:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::geometric_distribution<_IntType>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/random:51,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.tcc:1753:5: note: candidate: 'template<class _RealType, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::exponential_distribution<_RealType>&)'
 1753 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.tcc:1753:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::exponential_distribution<_RealType>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/random:51,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.tcc:2538:5: note: candidate: 'template<class _RealType, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::weibull_distribution<_RealType>&)'
 2538 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.tcc:2538:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::weibull_distribution<_RealType>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/random:51,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.tcc:2612:5: note: candidate: 'template<class _RealType, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::extreme_value_distribution<_RealType>&)'
 2612 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.tcc:2612:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::extreme_value_distribution<_RealType>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/random:51,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.tcc:154:5: note: candidate: 'template<class _UIntType, _UIntType __a, _UIntType __c, _UIntType __m, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::linear_congruential_engine<_UIntType, __a, __c, __m>&)'
  154 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.tcc:154:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::linear_congruential_engine<_UIntType, __a, __c, __m>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/random:51,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.tcc:474:5: note: candidate: 'template<class _UIntType1, long unsigned int __w1, long unsigned int __n1, long unsigned int __m1, long unsigned int __r1, _UIntType1 __a1, long unsigned int __u1, _UIntType1 __d1, long unsigned int __s1, _UIntType1 __b1, long unsigned int __t1, _UIntType1 __c1, long unsigned int __l1, _UIntType1 __f1, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>&)'
  474 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.tcc:474:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::mersenne_twister_engine<_UIntType, __w, __n, __m, __r, __a, __u, __d, __s, __b, __t, __c, __l, __f>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/random:51,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.tcc:628:5: note: candidate: 'template<class _UIntType, long unsigned int __w, long unsigned int __s, long unsigned int __r, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::subtract_with_carry_engine<_UIntType, __w, __s, __r>&)'
  628 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.tcc:628:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note:   'std::vector<int>' is not derived from 'const std::subtract_with_carry_engine<_UIntType, __w, __s, __r>'
  393 |     cout << check_validity(6, X, Y, S, E, L, R) << '\n';
      |                                               ^
In file included from /usr/include/c++/11/random:51,
                 from werewolf.cpp:38:
/usr/include/c++/11/bits/random.tcc:696:5: note: candidate: 'template<class _RandomNumberEngine, long unsigned int __p, long unsigned int __r, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(std::basic_ostream<_CharT, _Traits>&, const std::discard_block_engine<_RandomNumberEngine, __p, __r>&)'
  696 |     operator<<(std::basic_ostream<_CharT, _Traits>& __os,
      |     ^~~~~~~~
/usr/include/c++/11/bits/random.tcc:696:5: note:   template argument deduction/substitution failed:
werewolf.cpp:393:47: note