#include #include #include #include #include #define rep(i, start, end) for (int i = (int)start; i < (int)end; ++i) #define rrep(i, start, end) for (int i = (int)start - 1; i >= (int)end; --i) #define all(x) (x).begin(), (x).end() using namespace std; using ll = long long; template inline bool chmax(T& a, T b) {if (a < b) {a = b; return true;} return 0;} template inline bool chmin(T& a, T b) {if (a > b) {a = b; return true;} return 0;} double f(double A, double B, double X) { return abs((X - A) * (X - B)); } int main() { cin.tie(0); ios::sync_with_stdio(false); double A, B; cin >> A >> B; int N = 1e5; vector X(N); X[0] = A; rep(i, 1, N) { X[i] = X[i - 1] + (B - A) / N; } double ans = 0; rep(i, 0, N) { ans += (B - A) * f(A, B, X[i]) / N; } cout << fixed << setprecision(5) << ans << endl; return 0; }