source_code: import java.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStreamReader;
  import java.io.PrintWriter;
  import java.util.StringTokenizer;
  
  public class Main
  {
  	public static void main(String[] args)
  	{
  		FastReader fr =new FastReader();
  
  		PrintWriter op =new PrintWriter(System.out);
  
  		long n =fr.nextLong() ,k =fr.nextLong() ,d =(long)Math.sqrt(9l+8l*(n+k)) ;
  
  		d -= 3l ;	d /=2l ;op.println(n-d) ;
  
  		op.flush();	op.close();
  	}
  
  	static class FastReader {
  		BufferedReader br;
  		StringTokenizer st;
  
  		public FastReader() {
  			br =new BufferedReader(new InputStreamReader(System.in));
  		}
  
  		String next() {
  			while (st==null || (!st.hasMoreElements())) 
  			{
  				try
  				{
  					st =new StringTokenizer(br.readLine());
  				}
  				catch(IOException e)
  				{
  					e.printStackTrace();
  				}
  				
  			}
  			return st.nextToken();
  		}
  
  		String nextLine() {
  			String str ="";
  
  			try
  			{
  				str =br.readLine();
  			}
  			catch(IOException e)
  			{
  				e.printStackTrace();
  			}
  
  			return str;
  		}
  
  		int nextInt() {
  			return Integer.parseInt(next());
  		}
  
  		long nextLong() {
  			return Long.parseLong(next()) ;
  		}
  	}
  }