#include #include #include #include using namespace std; int main() { int nlamp; double A; while ( cin >> nlamp >> A ) { double minB = A + (nlamp - 1) * (nlamp - 2); for ( int n = 1; n <= nlamp - 2; n++ ) { const int m = nlamp - 1 - n; const double H = max(0.0, A - n*(n + 1)); const double h = ((A - H) - n*(n - 1)) / n; if ( h < 0 || h > 2 ) continue; const double g = 2 - h; const double B = H + m*g + m*(m - 1); if ( B < minB ) minB = B; } // n = nlamp - 1 の場合は落ちて終わりの場合がある. const int n = nlamp - 1; const double h = A - n*(n - 1); if ( h >= 0 ) minB = 0.0; printf("%.2lf\n", minB); } return 0; }