#include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N; string S; cin >> N >> S; vector dp(N, 0); stack st; for (int i = 0; i < N; i++) { if (S[i] == '(') { st.push(i); } else { int l = st.top(); st.pop(); // XOR tất cả Grundy trong đoạn (l, i) int g = 0; int j = l + 1; while (j < i) { g ^= dp[j]; // bỏ qua khối ngoặc con int depth = 1, k = j + 1; while (k < i && depth > 0) { if (S[k] == '(') depth++; else depth--; k++; } j = k; } dp[l] = g + 1; dp[i] = dp[l]; } } int nim_sum = 0; int i = 0; while (i < N) { if (S[i] == '(') { nim_sum ^= dp[i]; int depth = 1, j = i + 1; while (j < N && depth > 0) { if (S[j] == '(') depth++; else depth--; j++; } i = j; } else i++; } cout << (nim_sum ? "First" : "Second") << "\n"; }