// Justin Almazan
// 6/12/2025
// Solution to 2025 CS SI @ UCF Contest 1 Problem: Warring Scoring
// https://open.kattis.com/problems/warringscoring

#include <bits/stdc++.h>
using namespace std;

using vs = vector<string>;

int calcNotnomde(vs points) {

    // Keep track of the current streak, and both player's max streak
    int nStreak = 0, yStreak = 0, curStreak = 0;

    // It does not matter who is initially set as the previous scorer here
    string prvScorer = "Notnomde";

    // Loop over each scorer in the game in chronological order
    for (string scorer : points) {

        // If the current scorer is the same as the previous scorer, the streak continues
        if (scorer == prvScorer) curStreak++;

        // Otherwise, this streak ends and a new one begins
        else {
            prvScorer = scorer;
            curStreak = 1;
        }

        // If the current streak is Notnomde's, see if this set's a new record
        if (scorer == "Notnomde") nStreak = max(nStreak, curStreak);

        // Do the same with Yraglac
        else yStreak = max(yStreak, curStreak);
    }

    // Use casing to return who won the game
    if (nStreak > yStreak) return 1;
    else if (yStreak > nStreak) return 2;
    else return 3;
}

int calcYraglac(vs points) {

    // Keep track of the current difference in points, and the max lead both players have had
    int curDiff = 0, nLead = 0, yLead = 0;

    // Loop over each scorer
    for (string scorer : points) {

        // If the person who scored this point is Notnomde, add 1 to the difference
        if (scorer == "Notnomde") curDiff++;

        // Otherwise, subtract 1 from the difference
        else curDiff--;

        // The largest lead Notnomde has will be the highest (most positive) number curDiff has been
        nLead = max(nLead, curDiff);

        // The largest lead Yraglac has will be the lowest (most negative) number curDiff has been
        yLead = min(yLead, curDiff);
    }

    // Change Yraglac's lead to a positive number
    yLead *= -1;

    // Use casing to return who won the game
    if (nLead > yLead) return 1;
    else if (nLead < yLead) return 2;
    else return 3;
}

int main() {

    // Get the number of points scored throughout the game
    int numPoints;
    cin >> numPoints;

    // Initialize a vector to store them all in
    vs points(numPoints);
    for (int i = 0; i < numPoints; i++) cin >> points[i];

    // Use functions to calculate the results
    int resNotnomde = calcNotnomde(points);
    int resYraglac = calcYraglac(points);

    // If the results are equal, then they agree
    if (resNotnomde == resYraglac) cout << "Agree" << endl;

    // Otherwise, they disagree
    else cout << "Disagree" << endl;

    return 0;
}