B. Усны шугам

хугацааны хязгаарлалт 2 секунд

санах ойн хязгаарлалт 256 мегабайт

оролт стандарт оролт

гаралт стандарт гаралт

Ултимате Түл-ын шинэ бөө Вова усны шугам барихыг хүсжээ. Ултимате Түл-д яг $n$ ширхэг байшингууд байгаа учраас Вова уг хотыг яг $n$ ширхэг хоолойтой байлгахыг хүсэж байгаа ба эдгээр хоолойнуудын тус бүр нь усан хангамжтай холбогдсон байх ёстой. Хэрэв хоолойноос ус урсан гарч байвал уг хоолой нь усан хангамжтай холбогдсон байна. Анхандаа Вова-д ус урсаж буй ганцхан хоолой байв. Мөн Вова-д хэд хэдэн хуваагч байв.

Хуваагч нь нэг оролт (энэ нь усны хоолойтой холбогдсон байж болно) болон $x$ ширхэг гаралтын шугамаас тогтох байгууламж юм. Хуваагч нь усны хоолойтой холбогдох үед гаралтын хоолой бүрээс ус урсан гарна. Та эдгээр гаралтын хоолойнуудыг энгийн хоолойнууд гэж үзэж болно. Жишээлбэл хэрэв тухайн хоолойноос ус урсан гарч байвал та уг хоолойд усан хангамжийг холбож болно. Усны хоолой болгонд хамгийн ихдээ нэг хуваагч холбож болно.

Зурагт $4$ гаралттай хуваагчийг үзүүлэв.

Вова-д $2$, $3$, $4$, ..., $k$ ширхэг гаралтууд бүхий хуваагчуудаас тус бүрээс нь нэг ширхэг байв. Вова-д туслан шаардагдсан усны шугамыг хамгийн бага тооны хуваагч хэрэглэн барьж өгнө үү. Бусад тохиолдолд боломжгүй болохыг түүнд хэлж өгнө үү.

Вова усны шугамыг яг $n$ ширхэг ус урсаж гардаг хоолойтой байлгахыг хүсэж байгаа. Эдгээр хоолойнуудын зарим нь хуваагчуудын гаралтын хоолойнууд байж болохыг анхаарна уу.

Оролт

Эхний мөрөнд зайгаар тусгаарлагдсан 2 бүхэл тоо $n$ болон $k$ ($1 ≤ n ≤ 10^{18}$, $2 ≤ k ≤ 10^{9}$) өгөгдөнө.

С++ дээр 64-битийн бүхэл тоонуудыг унших болон бичихдээ %lld тодорхойлогчийг битгий ашиглана уу. cin, cout streams эсвэл %I64d тодорхойлогчийг ашиглахыг илүүд үзнэ үү.

Гаралт

Усны шугамыг барихад шаардлагатай хуваагчдын хамгийн бага тоо болох ганц бүхэл тоог хэвлэнэ үү. Хэрэв өгөгдсөн хуваагчдаар усны шугам барих нь боломжгүй бол -1 гэж хэвлэнэ үү.

Орчуулсан: Баатархүү

Жишээ тэстүүд

Оролт
4 3
Гаралт
2
Оролт
5 5
Гаралт
1
Оролт
8 4
Гаралт
-1
Сэтгэгдлүүдийг ачааллаж байна...