#include <iostream>
#include <algorithm>
#include <vector>
#include <numeric>
#include <initializer_list>

template <typename T>
bool different(std::vector<T> list)
{
    if (list.size() > 1)
    {
        std::sort(list.begin(), list.end());

        for (auto i = list.begin(); i != list.end() - 1; ++i)
            if (*i == *(i + 1))
                return false;
    }

    return true;
}

template <typename T>
bool different(std::initializer_list<T> list)
{
    return different(std::vector<T>(list.begin(), list.end()));
}


int main()
{
    int a, b, c;
    a = 3; b = 4; c = 4;

    std::cout << std::boolalpha << different({ a, b, c }) << '\n' ;

    a = 5, b = 3, c = 4;

    std::cout << different({ a, b, c }) << '\n';
}