At regular competition Vladik and Valera won a and b candies respectively. Vladik offered 1 his candy to Valera. After that Valera gave Vladik 2 his candies, so that no one thought that he was less generous. Vladik for same reason gave 3 candies to Valera in next turn.

More formally, the guys take turns giving each other one candy more than they received in the previous turn.

This continued until the moment when one of them couldn’t give the right amount of candy. Candies, which guys got from each other, they don’t consider as their own. You need to know, who is the first who can’t give the right amount of candy.

Input

Single line of input data contains two space-separated integers a, b (1 ≤ a, b ≤ 109) — number of Vladik and Valera candies respectively.

Output

Pring a single line "Vladik’’ in case, if Vladik first who can’t give right amount of candy, or "Valera’’ otherwise.

Examples

Input

1 1


Output

Valera


Input

7 6


Output

Vladik

Note

Illustration for first test case:

<image>

Illustration for second test case:

<image>
import java.io.*;
import java.util.*;
import java.util.Map.Entry;
/**
 * Author:-Milap Shah
 * College:-DA-IICT
 */
public class Q1 {
 
	Stack<Integer>st = new Stack<Integer>();
	ArrayList<Integer>st1 = new ArrayList<Integer>();
    public static void main(String[] args) {
        InputReader s = new InputReader(System.in);
        PrintWriter out = new PrintWriter(System.out);
        /*My code starts here.*/
        
        TreeMap<Long,Integer>ts1 = new TreeMap<Long,Integer>();
        TreeMap<Long,Integer>ts2 = new TreeMap<Long,Integer>();
        ts1.put(1L*0,0);
        ts2.put(1L*0,0);
        for(int i=1;i<=(long)(1e5);i++)
        {
        	ts2.put((i)*1L*(i+1),i);
        	ts1.put((long)Math.pow(i,2),i);
        }
        
        long a = s.nextInt();
        long b = s.nextInt();
        
        Entry<Long, Integer> x = ts1.floorEntry(a);
        Entry<Long, Integer> y = ts2.floorEntry(b);
//        System.out.println(y.getValue());
        if(x.getValue() <= y.getValue())
        	out.println("Vladik");
        else
        	out.println("Valera");
        /*My code ends here.*/
        out.close();
    }


    static void debug(Object... o) {
		System.out.println(Arrays.deepToString(o));
	}
    static int sieve(int n)
    {
    	boolean isPrime[] = new boolean[n+1];
    	for (int i = 2; i <= n; i++) {
            isPrime[i] = true;
        }

        // mark non-primes <= n using Sieve of Eratosthenes
        for (int factor = 2; factor*factor <= n; factor++) {

            // if factor is prime, then mark multiples of factor as nonprime
            // suffices to consider mutiples factor, factor+1, ...,  n/factor
            if (isPrime[factor]) {
                for (int j = factor; factor*j <= n; j++) {
                    isPrime[factor*j] = false;
                }
            }
        }
        
        int count = 0;
        for(int i=2;i<=n;i++)
        {
        	if(isPrime[i])
        		count++;
        }
        
        return count;
    }
    
	static long PowerMod(long a, long b, long m) {
		long tempo;
		if (b == 0)
			tempo = 1;
		else if (b == 1)
			tempo = a;
		else {
			long temp = PowerMod(a, b / 2, m);
			if (b % 2 == 0)
				tempo = (temp * temp) % m;
			else
				tempo = ((temp * temp) % m) * a % m;
		}
		return tempo;
	}
 
 
    
    static class InputReader {
 
        private InputStream stream;
        private byte[] buf = new byte[8192];
        private int curChar, snumChars;
        private SpaceCharFilter filter;
 
        public InputReader(InputStream stream) {
            this.stream = stream;
        }
 
        public int snext() {
            if (snumChars == -1)
                throw new InputMismatchException();
            if (curChar >= snumChars) {
                curChar = 0;
                try {
                    snumChars = stream.read(buf);
                } catch (IOException e) {
                    throw new InputMismatchException();
                }
                if (snumChars <= 0)
                    return -1;
            }
            return buf[curChar++];
        }
 
        public int nextInt() {
            int c = snext();
            while (isSpaceChar(c))
                c = snext();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = snext();
            }
            int res = 0;
            do {
                if (c < '0' || c > '9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = snext();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
        public long nextLong() {
            int c = snext();
            while (isSpaceChar(c))
                c = snext();
            int sgn = 1;
            if (c == '-') {
                sgn = -1;
                c = snext();
            }
            long res = 0;
            do {
                if (c < '0' || c > '9')
                    throw new InputMismatchException();
                res *= 10;
                res += c - '0';
                c = snext();
            } while (!isSpaceChar(c));
            return res * sgn;
        }
 
        public int[] nextIntArray(int n) {
            int a[] = new int[n];
            for (int i = 0; i < n; i++)
                a[i] = nextInt();
            return a;
        }
 
        public String readString() {
            int c = snext();
            while (isSpaceChar(c))
                c = snext();
            StringBuilder res = new StringBuilder();
            do {
                res.appendCodePoint(c);
                c = snext();
            } while (!isSpaceChar(c));
            return res.toString();
        }
 
        public boolean isSpaceChar(int c) {
            if (filter != null)
                return filter.isSpaceChar(c);
            return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
        }
 
        public interface SpaceCharFilter {
            public boolean isSpaceChar(int ch);
        }
    }
}


//PriorityQueue<Integer> minheap=new PriorityQueue<Integer>(1,new Comparator<Integer>() {
//public int compare(Integer o1, Integer o2) {
//  return o1-o2;
//}
//});
//PriorityQueue<Integer> maxheap=new PriorityQueue<Integer>(1,new Comparator<Integer>() {
//public int compare(Integer o1, Integer o2) {
//  return o2-o1;
//}
//});

//use following before sorting
//Random r = new Random();
//for(int iter = 0; iter < 100000; iter++)
//{
//	int a = r.nextInt(n), b = r.nextInt(n);
//	int temp = arr[a]; arr[a] = arr[b]; arr[b] = temp;
//}

