Two people are playing a game with a string s, consisting of lowercase latin letters. 

On a player's turn, he should choose two consecutive equal letters in the string and delete them. 

For example, if the string is equal to "xaax" than there is only one possible turn: delete "aa", so the string will become "xx". A player not able to make a turn loses.

Your task is to determine which player will win if both play optimally.

Input

The only line contains the string s, consisting of lowercase latin letters (1 ≤ |s| ≤ 100 000), where |s| means the length of a string s.

Output

If the first player wins, print "Yes". If the second player wins, print "No".

Examples

Input


abacaba


Output


No


Input


iiq


Output


Yes


Input


abba


Output


No

Note

In the first example the first player is unable to make a turn, so he loses.

In the second example first player turns the string into "q", then second player is unable to move, so he loses.

import java.io.IOException;
import java.util.*;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.io.*;

/**
 * http://codeforces.com/problemset/problem/1104/B #datastructures
 * #implementation
 *
 * Simulate the game using linkedlist data structure for easy removal of
 * characters.
 * 
 * Time complexity: O(n), Memory complexity: O(n)
 */
public class GameWithString {

	public static void main(String[] args) throws IOException {
		Reader r = new Reader();
		Writer w = new Writer();

		boolean winner = false;

		String s = r.nextString();
		LinkedList<Character> lst = new LinkedList<>();
		for (int i = 0; i < s.length(); ++i)
			lst.add(s.charAt(i));

		char c;
		for (ListIterator<Character> it = lst.listIterator(); it.hasNext();) {
			c = it.next();
			if (it.hasNext()) {
				if (it.next() == c) {
					it.remove();
					it.previous();
					it.remove();
					if (it.hasPrevious())
						it.previous();
					winner = !winner;
				} else
					it.previous();
			}
		}
		w.println(winner ? "Yes" : "No");
		w.close();
	}

}

/**
 * Custom class for fast input that uses BufferedReader and StringTokenizer.
 */
class Reader {
	private BufferedReader br;
	private StringTokenizer st;

	public Reader() {
		br = new BufferedReader(new InputStreamReader(System.in));
	}

	private String next() {
		while (st == null || !st.hasMoreElements()) {
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return st.nextToken();
	}

	public int nextInt() {
		return Integer.parseInt(next());
	}

	public int[] nextIntArray(int size) {
		int[] arr = new int[size];
		for (int i = 0; i < size; ++i)
			arr[i] = nextInt();
		return arr;
	}

	public ArrayList<Integer> nextIntArrayList(int size) {
		ArrayList<Integer> lst = new ArrayList<>(size);
		for (int i = 0; i < size; ++i)
			lst.add(nextInt());
		return lst;
	}

	public long nextLong() {
		return Long.parseLong(next());
	}

	public long[] nextLongArray(int size) {
		long[] arr = new long[size];
		for (int i = 0; i < size; ++i)
			arr[i] = nextLong();
		return arr;
	}

	public ArrayList<Long> nextLongArrayList(int size) {
		ArrayList<Long> lst = new ArrayList<>(size);
		for (int i = 0; i < size; ++i)
			lst.add(nextLong());
		return lst;
	}

	public double nextDouble() {
		return Double.parseDouble(next());
	}

	public double[] nextDoubleArray(int size) {
		double[] arr = new double[size];
		for (int i = 0; i < size; ++i)
			arr[i] = nextDouble();
		return arr;
	}

	public String nextString() {
		return next();
	}

	public String nextLine() {
		String str = "";
		try {
			str = br.readLine();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return str;
	}
}


/**
 * Custom class used for fast output.
 */
class Writer {
	private final BufferedWriter bw;

	public Writer() {
		this.bw = new BufferedWriter(new OutputStreamWriter(System.out));
	}

	public void print(Object object) throws IOException {
		bw.append("" + object);
	}

	public void println(Object object) throws IOException {
		print(object);
		bw.append("\n");
	}

	public void close() throws IOException {
		bw.close();
	}

}
