import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;

/**
 * AOJ Sendame</br>
 *
 * @author ?????????????????§???
 */
public class Main{

	enum Name {
		ISONO("Isono-kun"), NAKAJIMA("Nakajima-kun"), HIKIWAKE("Hikiwake-kun");
		// ??????????????????????????????????????????????????°
		private final String player;

		// ????????????????????????????????????????????????
		Name(String name) {
			this.player = name;
		}

		public String getPlayer() {
			return player;
		}

	}// ?????????Name????????????

	enum Pose {
		ACCUMULATE("tameru"), DEFENCE("mamoru"), ATTACK("kougekida");

		// ??????????????????????????????????????????????????°
		private final String pose;

		// ????????????????????????????????????????????????
		Pose(String gesture) {
			this.pose = gesture;
		}

		public String getPose() {
			return pose;
		}
	}// ?????????Pose????????????

	/*
	 * ????????°???????????¨?????????????????????
	 */
	public static void main(String[] args) throws NumberFormatException, IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		// 1?????????????????¬?????????????????????????????°
		int game_set = Integer.parseInt(br.readLine());
		// ?????????????????????????????????
		String cmd;

		// ?£??????????????????????????????????????´????????????????
		ArrayList<Pose> isono_gesture = new ArrayList<Pose>();
		for (int cnt = 0; cnt < game_set; cnt++) {
			// ????????????
			cmd = br.readLine();
			if (Pose.ACCUMULATE.getPose().equals(cmd))
				isono_gesture.add(Pose.ACCUMULATE);
			else if (Pose.DEFENCE.getPose().equals(cmd)) {
				isono_gesture.add(Pose.DEFENCE);
			} else if (Pose.ATTACK.getPose().equals(cmd)) {
				isono_gesture.add(Pose.ATTACK);
			}
		}

		// ?????¶??????????????????????????????????´????????????????
		ArrayList<Pose> nakajima_gesture = new ArrayList<Pose>();
		for (int cnt = 0; cnt < game_set; cnt++) {
			// ????????????
			cmd = br.readLine();
			if (Pose.ACCUMULATE.getPose().equals(cmd))
				nakajima_gesture.add(Pose.ACCUMULATE);
			else if (Pose.DEFENCE.getPose().equals(cmd)) {
				nakajima_gesture.add(Pose.DEFENCE);
			} else if (Pose.ATTACK.getPose().equals(cmd)) {
				nakajima_gesture.add(Pose.ATTACK);
			}
		}
		// true: ??°???????????????????????? false: Hikiwake-kun?????????
		System.out.println(win_Or_draw(game_set, isono_gesture, nakajima_gesture) ? winners_Names()
				: Name.HIKIWAKE.getPlayer());
	}// ?????????????????????????????????

	/**
	 * ??????????????°?????????</br>
	 * true:?£??????????false:?????¶???
	 */
	private static boolean whoIsWinner = true;

	/**
	 * ????????????????????????????????????????????????
	 *
	 * @return ??????????????????
	 */
	private static String winners_Names() {
		return whoIsWinner ? Name.ISONO.getPlayer() : Name.NAKAJIMA.getPlayer();
	}// outputWinner????????????????????????

	/**
	 * ??????????????????????????????????????????</br>
	 *
	 * @param game_set
	 *            ?????????????§?????????°
	 * @param isono_gesture
	 *            ?£???????????????????
	 * @param nakajima_gesture
	 *            ?????¶???????????????
	 * @return ???????????????
	 */
	private static boolean win_Or_draw(int game_set, ArrayList<Pose> isono_gesture,
			ArrayList<Pose> nakajima_gesture) {
		// ???????????????????????????????????¬?????????
		Player isono = new Player();
		Player nakajima = new Player();

		for (int cnt = 0; cnt < game_set; cnt++) {
			// ??????????????\?????????????????????
			if (!isono.getHP() || !nakajima.getHP()) {
				break;
			}
			// ?????¬???????????????????????§??????????????????
			switch (isono_gesture.get(cnt)) {
			case ACCUMULATE:
				switch (nakajima_gesture.get(cnt)) {
				case ACCUMULATE:
					// ???????????¶????????§????????????????????????
					if (isono.getForce() < isono.getMax_force()) {
						isono.setForce(isono.getForce() + 1);
					}
					if (nakajima.getForce() < nakajima.getMax_force()) {
						nakajima.setForce(nakajima.getForce() + 1);
					}
					break;
				case DEFENCE:
					// ?????¶???????????´??????
					if (isono.getForce() < isono.getMax_force())
						isono.setForce(isono.getForce() + 1);
					break;
				case ATTACK:
					// ?£???????????????????
					if (isono.getForce() < isono.getMax_force()) {
						isono.setForce(isono.getForce() + 1);
					}
					if (nakajima.getForce() == 0) {
						// ????????????
						nakajima.setHP(false);
					} else {
						// ?????¶????????????
						isono.setHP(false);
					}
					// ????????????????????????
					nakajima.setForce(0);
					break;
				}
				break;
			case DEFENCE:
				switch (nakajima_gesture.get(cnt)) {
				case ACCUMULATE:
					// ?£???????????????´??????
					if (nakajima.getForce() < nakajima.getMax_force())
						nakajima.setForce(nakajima.getForce() + 1);
					break;
				case DEFENCE:
					// ????????¨????????´????????§?????????????¶????
					break;
				case ATTACK:
					if (nakajima.getForce() == nakajima.getMax_force()) {
						// ?????¶????????????
						isono.setHP(false);
					} else if (nakajima.getForce() == 0) {
						// ????????????
						nakajima.setHP(false);
					}
					// ????????????????????????
					nakajima.setForce(0);
					break;
				}
				break;
			case ATTACK:
				switch (nakajima_gesture.get(cnt)) {
				case ACCUMULATE:
					if (isono.getForce() == 0) {
						// ????????????
						isono.setHP(false);
					} else {
						// ?£????????????????
						nakajima.setHP(false);
					}
					// ????????????????????????
					isono.setForce(0);

					// ?????¶???????????????
					if (nakajima.getForce() < nakajima.getMax_force()) {
						nakajima.setForce(nakajima.getForce() + 1);
					}
					break;
				case DEFENCE:
					if (isono.getForce() == isono.getMax_force()) {
						// ?£????????????????
						nakajima.setHP(false);
					} else if (isono.getForce() == 0) {
						// ????????????
						isono.setHP(false);
					}
					// ????????\????????????
					isono.setForce(0);
					break;
				case ATTACK:
					if (isono.getForce() > nakajima.getForce()) {
						// ?£????????????????
						nakajima.setHP(false);
					} else if (isono.getForce() < nakajima.getForce()) {
						// ?????¶????????????
						isono.setHP(false);
					}
					// ????????\????????????
					nakajima.setForce(0);
					isono.setForce(0);
					break;
				}
				break;
			}// ???????????????????????????
		} // for?????????????????????

		// ?????????????????????
		if (isono.getHP() && nakajima.getHP()) {
			return false;
		}
		// ??????????????????????????????????????°???
		if (!isono.getHP())
			whoIsWinner = false;
		return true;
	}// PlaySendameGame????????????????????????

}// ??????????????????????????????

/**
 * ?????¬??????????????¶???
 *
 * @author ?????????????????§???
 */
class Player {
	/**
	 * ??????????????????false????????£????????????
	 */
	private boolean HP = true;

	/**
	 * ?????????
	 */
	private int force = 0;

	/**
	 * ??????????????¶???
	 */
	private final static int MAX_FORCE = 5;

	public int getMax_force() {
		return MAX_FORCE;
	}

	public boolean getHP() {
		return HP;
	}

	public int getForce() {
		return force;
	}

	public void setForce(int force) {
		this.force = force;
	}

	public void setHP(boolean hP) {
		HP = hP;
	}

	// ?????¬??????????????¶???????????????
	Player() {
		this.getHP();
		this.getForce();
	}
}// Player?????????????????????

Measured memory_bytes: 24504