source_code: import java.io.*;
  import java.nio.CharBuffer;
  import java.util.NoSuchElementException;
  
  public class P1195B {
  
      public static void main(String[] args) {
          SimpleScanner scanner = new SimpleScanner(System.in);
          PrintWriter writer = new PrintWriter(System.out);
  
          int n = scanner.nextInt();
          int k = scanner.nextInt();
          int l = 0;
          int r = n;
          int ans = 0;
          while (l <= r) {
              int eat = (l + r) >> 1;
              int lastPut = n - eat;
              long totalPut = (long) (lastPut + 1) * lastPut / 2;
              long remain = totalPut - eat;
              if (remain == k) {
                  ans = eat;
                  break;
              } else if (remain > k)
                  l = eat + 1;
              else
                  r = eat - 1;
          }
          writer.println(ans);
  
          writer.close();
      }
  
      private static class SimpleScanner {
  
          private static final int BUFFER_SIZE = 10240;
  
          private Readable in;
          private CharBuffer buffer;
          private boolean eof;
  
          SimpleScanner(InputStream in) {
              this.in = new BufferedReader(new InputStreamReader(in));
              buffer = CharBuffer.allocate(BUFFER_SIZE);
              buffer.limit(0);
              eof = false;
          }
  
  
          private char read() {
              if (!buffer.hasRemaining()) {
                  buffer.clear();
                  int n;
                  try {
                      n = in.read(buffer);
                  } catch (IOException e) {
                      n = -1;
                  }
                  if (n <= 0) {
                      eof = true;
                      return '\0';
                  }
                  buffer.flip();
              }
              return buffer.get();
          }
  
          void checkEof() {
              if (eof)
                  throw new NoSuchElementException();
          }
  
          char nextChar() {
              checkEof();
              char b = read();
              checkEof();
              return b;
          }
  
          String next() {
              char b;
              do {
                  b = read();
                  checkEof();
              } while (Character.isWhitespace(b));
              StringBuilder sb = new StringBuilder();
              do {
                  sb.append(b);
                  b = read();
              } while (!eof && !Character.isWhitespace(b));
              return sb.toString();
          }
  
          int nextInt() {
              return Integer.valueOf(next());
          }
  
          long nextLong() {
              return Long.valueOf(next());
          }
  
          double nextDouble() {
              return Double.parseDouble(next());
          }
      }
  }
  