#include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie (0); long long noIntegers, noQueries; cin >>noIntegers >> noQueries; vector oddNumberCounts; vector numbers (noIntegers); vector segments (noIntegers); int currEvenNumberCount = 0; int oddTermCount = 0; int currentSegment = 0; for (int i = 0; i < noIntegers; i++) { cin >> numbers[i]; if (numbers[i] % 2 == 0) { currEvenNumberCount++; } segments[i] = currentSegment; if (i < noIntegers - 1) { char op; cin >> op; if (op == '+' || op == '-') { oddNumberCounts.push_back(currEvenNumberCount); currentSegment++; if (currEvenNumberCount == 0) { oddTermCount++; } currEvenNumberCount = 0; } } else { oddNumberCounts.push_back(currEvenNumberCount); currentSegment++; if (currEvenNumberCount == 0) { oddTermCount++; } } } { bool totalEven = (oddTermCount % 2) == 0; if (totalEven) { cout << "even" << endl; } else { cout << "odd" << endl; } } for (long long query = 0; query < noQueries; query++) { long long pos, newValue; cin >> pos >> newValue; pos--; bool wasOdd = (numbers[pos] % 2) == 0; bool isOdd = (newValue % 2) == 0; numbers[pos] = newValue; if (wasOdd == isOdd) { } else if (wasOdd && !isOdd) { oddNumberCounts[segments[pos]]--; if (oddNumberCounts[segments[pos]] == 0) { oddTermCount++; } } else if (!wasOdd && isOdd) { oddNumberCounts[segments[pos]]++; if (oddNumberCounts[segments[pos]] == 1) { oddTermCount--; } } bool totalEven = (oddTermCount % 2) == 0; if (totalEven) { cout << "even" << endl; } else { cout << "odd" << endl; } } return 0; }