One day Alex was creating a contest about his friends, but accidentally deleted it. Fortunately, all the problems were saved, but now he needs to find them among other problems.

But there are too many problems, to do it manually. Alex asks you to write a program, which will determine if a problem is from this contest by its name.

It is known, that problem is from this contest if and only if its name contains one of Alex's friends' name exactly once. His friends' names are "Danil", "Olya", "Slava", "Ann" and "Nikita".

Names are case sensitive.

Input

The only line contains string from lowercase and uppercase letters and "_" symbols of length, not more than 100 — the name of the problem.

Output

Print "YES", if problem is from this contest, and "NO" otherwise.

Examples

Input

Alex_and_broken_contest


Output

NO

Input

NikitaAndString


Output

YES

Input

Danil_and_Olya


Output

NO


    import java.io.*;
    import java.util.*;
    import java.math.*;
    import java.lang.*;

    import static java.lang.Math.*;

    public class Main implements Runnable
    {
    	static class InputReader
    	{
    		private InputStream stream;
    		private byte[] buf = new byte[1024];
    		private int curChar;
    		private int numChars;
    		private SpaceCharFilter filter;
    		private BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

    		public InputReader(InputStream stream)
    		{
    			this.stream = stream;
    		}

    		public int read()
    		{
    			if (numChars==-1)
    				throw new InputMismatchException();

    			if (curChar >= numChars)
    			{
    				curChar = 0;
    				try
    				{
    					numChars = stream.read(buf);
    				}
    				catch (IOException e)
    				{
    					throw new InputMismatchException();
    				}

    				if(numChars <= 0)
    					return -1;
    			}
    			return buf[curChar++];
    		}

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

    			while(isSpaceChar(c))
    				c = read();

    			int sgn = 1;

    			if (c == '-')
    			{
    				sgn = -1;
    				c = read();
    			}

    			int res = 0;
    			do
    			{
    				if(c<'0'||c>'9')
    					throw new InputMismatchException();
    				res *= 10;
    				res += c - '0';
    				c = read();
    			}
    			while (!isSpaceChar(c));

    			return res * sgn;
    		}

    		public long nextLong()
    		{
    			int c = read();
    			while (isSpaceChar(c))
    				c = read();
    			int sgn = 1;
    			if (c == '-')
    			{
    				sgn = -1;
    				c = read();
    			}
    			long res = 0;

    			do
    			{
    				if (c < '0' || c > '9')
    					throw new InputMismatchException();
    				res *= 10;
    				res += c - '0';
    				c = read();
    			}
    			while (!isSpaceChar(c));
    				return res * sgn;
    		}

    		public double nextDouble()
    		{
    			int c = read();
    			while (isSpaceChar(c))
    				c = read();
    			int sgn = 1;
    			if (c == '-')
    			{
    				sgn = -1;
    				c = read();
    			}
    			double res = 0;
    			while (!isSpaceChar(c) && c != '.')
    			{
    				if (c == 'e' || c == 'E')
    					return res * Math.pow(10, nextInt());
    				if (c < '0' || c > '9')
    					throw new InputMismatchException();
    				res *= 10;
    				res += c - '0';
    				c = read();
    			}
    			if (c == '.')
    			{
    				c = read();
    				double m = 1;
    				while (!isSpaceChar(c))
    				{
    					if (c == 'e' || c == 'E')
    						return res * Math.pow(10, nextInt());
    					if (c < '0' || c > '9')
    						throw new InputMismatchException();
    					m /= 10;
    					res += (c - '0') * m;
    					c = read();
    				}
    			}
    			return res * sgn;
    		}

    		public String readString()
    		{
    			int c = read();
    			while (isSpaceChar(c))
    				c = read();
    			StringBuilder res = new StringBuilder();
    			do
    			{
    				res.appendCodePoint(c);
    				c = read();
    			}
    			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 String next()
    		{
    			return readString();
    		}

    		public interface SpaceCharFilter
    		{
    			public boolean isSpaceChar(int ch);
    		}
    	}

    	public static void main(String args[]) throws Exception
    	{
    		new Thread(null, new Main(),"Main",1<<26).start();
    	}
        //User-defined functions goes here...
    	public void run()
    	{
    		InputReader scan= new InputReader(System.in);
    		PrintWriter w= new PrintWriter(System.out);

       		//Your code goes here...
          String f[]=new String[5];

   f[0]="Danil";
   f[1]="Olya";
   f[2]="Slava";
   f[3]="Ann";
   f[4]="Nikita";
   int times=0;
   String name=scan.next();
   for(int i=0; i<5; i++){
      int index=name.indexOf(f[i]);
      if(index==-1)
      continue;
      else
      times++;
        if(name.lastIndexOf(f[i])==index)
          continue;
          else
          times++;
   }
   if(times==1)
   w.println("YES");
   else
   w.println("NO");



    		w.close();
    	}
    }
