Little Johnny Bubbles enjoys spending hours in front of his computer playing video games. His favorite game is Bubble Strike, fast-paced bubble shooting online game for two players.

Each game is set in one of the N maps, each having different terrain configuration. First phase of each game decides on which map the game will be played. The game system randomly selects three maps and shows them to the players. Each player must pick one of those three maps to be discarded. The game system then randomly selects one of the maps that were not picked by any of the players and starts the game.

Johnny is deeply enthusiastic about the game and wants to spend some time studying maps, thus increasing chances to win games played on those maps. However, he also needs to do his homework, so he does not have time to study all the maps. That is why he asked himself the following question: "What is the minimum number of maps I have to study, so that the probability to play one of those maps is at least P"?

Can you help Johnny find the answer for this question? You can assume Johnny's opponents do not know him, and they will randomly pick maps.

Input

The first line contains two integers N (3 ≤ N ≤ 10^{3}) and P (0 ≤ P ≤ 1) – total number of maps in the game and probability to play map Johnny has studied. P will have at most four digits after the decimal point.

Output

Output contains one integer number – minimum number of maps Johnny has to study.

Example

Input


7 1.0000


Output


6
956 0.9733
 444 0.0265
 267 0.4122
 840 0.5672
 937 0.8022
 504 0.2099
 439 0.0404
 200 0.9495
 566 0.6282
 995 0.4480
 364 0.3555
 891 0.6481
 329 0.5879
 622 0.8974
 634 0.7906
 440 0.9342
 848 0.8576
 38 0.2356
 716 0.9851
 141 0.0086
 357 0.9853
 1000 1.0000
 999 1.0000
 217 0.0744
 1000 0.0000
 571 0.5208
 588 0.3851
 517 0.4859
 444 0.0180
 847 0.3600
 853 0.0684
 3 1.0000
 317 0.2190
 195 0.5459
 3 0.0000

826
 8
 76
 336
 573
 71
 12
 162
 254
 307
 88
 415
 137
 452
 380
 344
 571
 6
 643
 1
 321
 999
 998
 11
 0
 208
 155
 174
 6
 208
 39
 2
 47
 75
 0

#include <bits/stdc++.h>
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#pragma GCC optimize("Ofast")
using namespace std;
namespace ywy {
inline long long get() {
  long long n = 0;
  char c;
  while ((c = getchar()) || 23333) {
    if (c >= '0' && c <= '9') break;
    if (c == '-') goto s;
  }
  n = c - '0';
  while ((c = getchar()) || 23333) {
    if (c >= '0' && c <= '9')
      n = n * 10 + c - '0';
    else
      return (n);
  }
s:
  while ((c = getchar()) || 23333) {
    if (c >= '0' && c <= '9')
      n = n * 10 - c + '0';
    else
      return (n);
  }
}
long long cn2(long long n) {
  if (n < 2) return 0;
  return n * (n - 1) / 2;
}
long long cn3(long long n) {
  if (n < 3) return 0;
  return n * (n - 1) * (n - 2) / 6;
}
void ywymain() {
  int n;
  double prob;
  cin >> n >> prob;
  for (int i = 0; i <= n; i++) {
    double s = 0.5 * i * cn2(n - i) / (double)cn3(n) +
               cn2(i) * (n - i) / (double)cn3(n) + cn3(i) / (double)cn3(n);
    if (s >= prob) {
      cout << i << endl;
      return;
    }
  }
}
}  // namespace ywy
signed main() { ywy::ywymain(); }
