Language: C++

// --------------------------------------------
// ****************  gzhffIThh  ***************
// --------------------------------------------
// #pragma GCC optimize(2)
// #pragma GCC optimize(3)

#include <iostream>
#include <cstdio>
#include <queue>
#include <vector>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 100010;

int head[N], nxt[N << 1], v[N << 1], cnt, size[N];

void add(int x, int y) {
	nxt[++cnt] = head[x]; head[x] = cnt; v[cnt] = y;
}

bool fl = 0;

void dfs(int now, int fa) {
	int su = 0;
	size[now] = 1;
	for (int i = head[now]; i; i = nxt[i]) {
		if (v[i] == fa) continue;
		dfs(v[i], now);
		su += size[v[i]];
		size[now] ^= size[v[i]];
	}
	if (su >= 2) {
		fl = 1;
	}
}

int main() {
        ios::sync_with_stdio(false);
        cin.tie(0);

        int n;
        cin >> n;

        if (n & 1) {
                cout << "First\n";
                return 0;
        }

        for (int i = 1; i < n; i++) {
        	int x, y;
        	cin >> x >> y;
        	add(x, y);
        	add(y, x);
        }

        dfs(1, 0);

        if (fl) {
        	cout << "First\n";
        } else {
        	cout << "Second\n";
        }

        return 0; 
}

Compiler output:
a.cc: In function 'void dfs(int, int)':
a.cc:28:9: error: reference to 'size' is ambiguous
   28 |         size[now] = 1;
      |         ^~~~
In file included from /usr/include/c++/14/string:53,
                 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/ios:44,
                 from /usr/include/c++/14/ostream:40,
                 from /usr/include/c++/14/iostream:41,
                 from a.cc:7:
/usr/include/c++/14/bits/range_access.h:272:5: note: candidates are: 'template<class _Tp, long unsigned int _Nm> constexpr std::size_t std::size(const _Tp (&)[_Nm])'
  272 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:262:5: note:                 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&)'
  262 |     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
      |     ^~~~
a.cc:18:43: note:                 'int size [100010]'
   18 | int head[N], nxt[N << 1], v[N << 1], cnt, size[N];
      |                                           ^~~~
a.cc:32:23: error: reference to 'size' is ambiguous
   32 |                 su += size[v[i]];
      |                       ^~~~
/usr/include/c++/14/bits/range_access.h:272:5: note: candidates are: 'template<class _Tp, long unsigned int _Nm> constexpr std::size_t std::size(const _Tp (&)[_Nm])'
  272 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:262:5: note:                 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&)'
  262 |     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
      |     ^~~~
a.cc:18:43: note:                 'int size [100010]'
   18 | int head[N], nxt[N << 1], v[N << 1], cnt, size[N];
      |                                           ^~~~
a.cc:33:17: error: reference to 'size' is ambiguous
   33 |                 size[now] ^= size[v[i]];
      |                 ^~~~
/usr/include/c++/14/bits/range_access.h:272:5: note: candidates are: 'template<class _Tp, long unsigned int _Nm> constexpr std::size_t std::size(const _Tp (&)[_Nm])'
  272 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:262:5: note:                 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&)'
  262 |     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
      |     ^~~~
a.cc:18:43: note:                 'int size [100010]'
   18 | int head[N], nxt[N << 1], v[N << 1], cnt, size[N];
      |                                           ^~~~
a.cc:33:30: error: reference to 'size' is ambiguous
   33 |                 size[now] ^= size[v[i]];
      |                              ^~~~
/usr/include/c++/14/bits/range_access.h:272:5: note: candidates are: 'template<class _Tp, long unsigned int _Nm> constexpr std::size_t std::size(const _Tp (&)[_Nm])'
  272 |     size(const _Tp (&)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/14/bits/range_access.h:262:5: note:                 'template<class _Container> constexpr decltype (__cont.size()) std::size(const _Container&)'
  262 |     size(const _Container& __cont) noexcept(noexcept(__cont.size()))
      |     ^~~~
a.cc:18:43: note:                 'int size [100010]'
   18 | int head[N], nxt[N << 1], v[N << 1], cnt, size[N];
      |                                           ^~~~