옷장을 정리해야 하는데 옷이 너무 많아 옷장 바닥에 흘러넘친다. 옷걸이를 걸 수 있는 위치는 N개고, 옷걸이는 M개가 있다. 이때 아주 놀라운 사실을 깨닫았는데, 옷장 크기에 비해 옷걸이가 많을 경우 옷걸이에 옷걸이를 걸면 옷을 더 많이 걸 수 있다는 사실이다 !!!

옷걸이에 옷을 거는 대신 양쪽에 옷걸이를 걸면 옷을 더 걸 수 있는데, 옷걸이의 균형을 위해 옷걸이의 양쪽에 걸리는 옷걸이의 총 개수가 같은 완전 이진 옷걸이를 만들어야 한다. 이때 당연히 옷걸이가 걸리지 않은 맨 아래 옷걸이에만 옷을 걸 수 있다.
옷걸이 하나를 높이가 1인 옷걸이 트리라 할 때, 옷걸이 양쪽에 옷걸이 두 개를 걸면 높이 2인 옷걸이 트리가 된다. 이를 반복하여 옷걸이 양쪽에 높이 i인 옷걸이 트리를 걸면 높이 i+1인 옷걸이 트리가 된다. 옷장의 높이가 낮아 높이 3 이하인 옷걸이 트리에만 옷을 걸 수 있다. 높이가 4인 옷걸이 트리는 옷장에 넣을 수 있지만 높이 때문에 밑에 옷을 걸 수 없고, 높이가 5 이상인 옷걸이 트리는 옷장에 넣을 수 없다. 옷걸이를 둘 다른 장소가 없어 옷걸이를 남김없이 사용해야 하며, 모든 옷걸이를 걸 수 있는 위치에 옷걸이 트리를 배치할 필요는 없다.
조건을 만족하며 옷걸이 트리를 배치할 때 걸 수 있는 옷의 최대 수를 구하시오.
첫 번째 줄에 옷걸이를 걸 수 있는 위치의 개수와 옷걸이의 수 N,M가 주어진다. (1≤N≤5,000,1≤M≤10,000)
첫 번째 줄에 최대로 걸 수 있는 옷의 개수를 출력한다. 만약 위의 조건을 만족하며 M개의 옷걸이를 N개 이하의 위치에 걸 방법이 없다면 −1을 출력한다.
차례대로 높이가 1, 2, 2, 3인 옷걸이 트리를 놓으면 각각에 옷을 1, 2, 2, 4개 걸 수 있다.