Problem:
Score : 200 points

Problem Statement

In some village, there are 999 towers that are 1,(1+2),(1+2+3),...,(1+2+3+...+999) meters high from west to east, at intervals of 1 meter.

It had been snowing for a while before it finally stopped. For some two adjacent towers located 1 meter apart, we measured the lengths of the parts of those towers that are not covered with snow, and the results are a meters for the west tower, and b meters for the east tower.

Assuming that the depth of snow cover and the altitude are the same everywhere in the village, find the amount of the snow cover.

Assume also that the depth of the snow cover is always at least 1 meter.

Constraints

1 \leq a < b < 499500(=1+2+3+...+999)

All values in input are integers.

There is no input that contradicts the assumption.

Input

Input is given from Standard Input in the following format:

a b

Output

If the depth of the snow cover is x meters, print x as an integer.

Sample Input 1

8 13

Sample Output 1

2

The heights of the two towers are 10 meters and 15 meters, respectively.
Thus, we can see that the depth of the snow cover is 2 meters.

Sample Input 2

54 65

Sample Output 2

1

Solution in C (GCC 5.4.1) (judge verdict: Accepted)

/* kadai4_3
   Saikyo_Kazune
*/
#include <stdio.h>
int snow_depth(int west_height_seen,int east_height_seen){
    //西側の塔の本来の高さを格納する変数 int west_heightを宣言
    int west_height=0;
    //雪の上に見えている東側の塔の高さから西側の等の高さを引いた数がnのとき、西側の塔本来のたかさが0からn-1までの和であるから
    for(int i=0;i<(east_height_seen-west_height_seen);i++){
        west_height+=i;
    }
    //西側の塔の本来の高さから雪上に見える高さを引いたものが雪の深さ
    return west_height-west_height_seen;
}
int main(void){
   
   //int型　雪上に見えている等の高さを格納する変数を宣言
   int west_height_seen,east_height_seen;
   //標準入力から受け取り
   scanf("%d %d",&west_height_seen,&east_height_seen);
   //関数により雪の深さを求めて出力
   printf("%d\n", snow_depth(west_height_seen,east_height_seen));
   return 0;
}