Language: C++

/*
 *
 *  1. sprawdz corner cases
 *  2. sprawdz limity, jesli sie da pozamieniaj wszystkie lokalne zmienne na LL!
 *  3.  MINIMALNE I MAKSYMALNE WEJŚCIE I WYJŚCIE
 *  4. lokalne zmienne, iteracja po tablicach dwuwymiarowych uwazaj
 *  5. SPRAWDZ CZY input jest POSORTOWANY jaki jest niezmiennik
 *
 *
 */
#include <algorithm>
#include <cstdio>
#include <iomanip> // std::setprecision
#include <iostream>
#include <list>
#include <map>
#include <math.h>
#include <queue>
#include <set>
#include <stack>
#include <stdlib.h>
#include <stdlib.h>
#include <string.h>
#include <unordered_map>
#include <vector>
#include <numeric>
#define FOR(x, y, z) for (int x = (y); x < (z); x++)
#define FORD(x, y, z) for (int x = (y); x >= z; x--)
#define REP(r, n) for (int r = 0; r < (n); r++)
#define MP make_pair
#define ST first
#define ND second
#define SIZE(c) ((int)((c).size()))
#define FOREACH(i, x) for (__typeof((x).begin()) i = (x).begin(); i != (x).end(); i++)
#define ALL(u) (u).begin(), (u).end()
#define RALL(u) (u).rbegin(), (u).rend()
#define PB push_back
#define PF push_front
#define SZ(x) long long((x).size())
#define IS_IN(x, t) (t.find(x) != t.end())
#define BIT(n, i) (((n) >> (i)) & 1)

#ifdef LOCAL
#define LASSERT(X) assert(X)
#else
#define LASSERT(X) \
    {              \
    }
#endif

#define TYPEMAX(type) std::numeric_limits<type>::max()
#define TYPEMIN(type) std::numeric_limits<type>::min()

using namespace std;

typedef long long LL;
typedef long double LD;
typedef vector<LL> VI;
typedef pair<LL, LL> PR;

inline LL GCD(LL a, LL b)
{
    LL r;
    while (b) {
        r = a % b;
        a = b;
        b = r;
    }
    return a;
};
inline LL LCM(LL a, LL b) { return a / GCD(a, b) * b; };
inline LL fpow(LL n, LL k, LL p)
{
    LL r = 1;
    for (; k; k >>= 1) {
        if (k & 1)
            r = r * n % p;
        n = n * n % p;
    }
    return r;
};
inline LL inv(LL a, LL p) { return fpow(a, p - 2, p); }

[[maybe_unused]] const LL MOD = (LL)1e9 + 7;
[[maybe_unused]] const LL MAXUS = TYPEMAX(LL);
[[maybe_unused]] const LD PI = acos((LD)-1);
[[maybe_unused]] const LD epsilon = 1e-9;

template <typename T>
T input()
{
    T res;
    cin >> res;
    LASSERT(cin);
    return res;
}

template <typename IT>
void input_seq(IT b, IT e)
{
    std::generate(b, e, input<typename std::remove_reference<decltype(*b)>::type>);
}

int main()                       
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    string s;
    cin >> s;
    multiset<char> occ(s.begin(), s.end());
    for (auto e: occ) {
      if (occ.count(occ) % 2 != 0) {
        cout << "No" << endl;
        return 0;
      }

    }
    cout << "Yes" << endl;
    return 0;
}


Compiler output:
a.cc: In function 'int main()':
a.cc:112:20: error: no matching function for call to 'std::multiset<char>::count(std::multiset<char>&)'
  112 |       if (occ.count(occ) % 2 != 0) {
      |           ~~~~~~~~~^~~~~
In file included from /usr/include/c++/14/set:64,
                 from a.cc:19:
/usr/include/c++/14/bits/stl_multiset.h:738:9: note: candidate: 'template<class _Kt> decltype (((const std::multiset<_Key, _Compare, _Alloc>*)this)->std::multiset<_Key, _Compare, _Alloc>::_M_t._M_count_tr(__x)) std::multiset<_Key, _Compare, _Alloc>::count(const _Kt&) const [with _Key = char; _Compare = std::less<char>; _Alloc = std::allocator<char>]'
  738 |         count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
      |         ^~~~~
/usr/include/c++/14/bits/stl_multiset.h:738:9: note:   template argument deduction/substitution failed:
/usr/include/c++/14/bits/stl_multiset.h: In substitution of 'template<class _Kt> decltype (((const std::multiset<char>*)this)->std::multiset<char>::_M_t.std::_Rb_tree<char, char, std::_Identity<char>, std::less<char>, std::allocator<char> >::_M_count_tr<_Kt, _Req>(__x)) std::multiset<char>::count(const _Kt&) const [with _Kt = std::multiset<char>]':
a.cc:112:20:   required from here
  112 |       if (occ.count(occ) % 2 != 0) {
      |           ~~~~~~~~~^~~~~
/usr/include/c++/14/bits/stl_multiset.h:738:65: error: no matching function for call to 'std::_Rb_tree<char, char, std::_Identity<char>, std::less<char>, std::allocator<char> >::_M_count_tr(const std::multiset<char>&) const'
  738 |         count(const _Kt& __x) const -> decltype(_M_t._M_count_tr(__x))
      |                                                 ~~~~~~~~~~~~~~~~^~~~~
In file included from /usr/include/c++/14/map:62,
                 from a.cc:16:
/usr/include/c++/14/bits/stl_tree.h:1311:9: note: candidate: 'template<class _Kt, class _Req> std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_count_tr(const _Kt&) const [with _Req = _Kt; _Key = char; _Val = char; _KeyOfValue = std::_Identity<char>; _Compare = std::less<char>; _Alloc = std::allocator<char>]'
 1311 |         _M_count_tr(const _Kt& __k) const
      |         ^~~~~~~~~~~
/usr/include/c++/14/bits/stl_tree.h:1311:9: note:   template argument deduction/substitution failed:
In file included from /usr/include/c++/14/string:49,
                 from /usr/include/c++/14/bits/locale_classes.h:40,
                 from /usr/include/c++/14/bits/ios_base.h:41,
                 from /usr/include/c++/14/iomanip:42,
                 from a.cc:13:
/usr/include/c++/14/bits/stl_function.h: In substitution of 'template<class _Func, class _SfinaeType> using std::__has_is_transparent_t = typename std::__has_is_transparent<_Func, _SfinaeType>::type [with _Func = std::less<char>; _SfinaeType = std::multiset<char>]':
/usr/include/c++/14/bits/stl_tree.h:1309:9:   required by substitution of 'template<class _Kt> decltype (((const std::multiset<char>*)this)->std::multiset<char>::_M_t.std::_Rb_tree<char, char, std::_Identity<char>, std::less<char>, std::allocator<char> >::_M_count_tr<_Kt, _Req>(__x)) std::multiset<char>::count(const _Kt&) const [with _Kt = std::multiset<char>]'
 1309 |                typename _Req = __has_is_transparent_t<_Compare, _Kt>>
      |                ^~~~~~~~
a.cc:112:20:   required from here
  112 |       if (occ.count(occ) % 2 != 0) {
      |           ~~~~~~~~~^~~~~
/usr/include/c++/14/bits/stl_function.h:1427:11: error: no type named 'type' in 'struct std::__has_is_transparent<std::less<char>, std::multiset<char>, void>'
 1427 |     using __has_is_transparent_t
      |           ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_multiset.h:732:7: note: candidate: 'std::multiset<_Key, _Compare, _Alloc>::size_type std::multiset<_Key, _Compare, _Alloc>::count(const key_type&) const [with _Key = char; _Compare = std::less<char>; _Alloc = std::allocator<char>; size_type = long unsigned int; key_type = char]'
  732 |       count(const key_type& __x) const
      |       ^~~~~
/usr/include/c++/14/bits/stl_multiset.h:732:29: note:   no known conversion for argument 1 from 'std::multiset<char>' to 'const std::multiset<char>::key_type&' {aka 'const char&'}
  732 |       count(const key_type& __x) const
      |             ~~~~~~~~~~~~~~~~^~~