eolymp
bolt
Try our new interface for solving problems
Problems

Лицарі та брехуни

Лицарі та брехуни

Кожного року король Артур проводить атестацію для лицарів. Він дуже мудрий, а тому знає, що буває тільки два типи людей: лицарі та брехуни. Лицарі завжди кажуть правду, а брехуни завжди брешуть. Цього року до короля прийшло $n$ людей. Для того, щоб дізнатись хто дійсно є лицарем, король пронумерував людей від $1$ до $n$ і по черзі викликав їх до себе. Перша людина сказала, що всі люди з номерами кратними $2$~--- брехуни, друга сказала, що всі люди з номерами кратними $3$~--- брехуни, $\dots$, $(n-1)$-ша людина сказала, що всі люди з номерами кратними $n$~--- брехуни, а $n$~--- та нічого не сказала. Артур хоче знати, яка мінімальна і максимальна кількість лицарів може бути серед атестованих. \InputFile Перший рядок містить два цілі числа $n$ та $k$ ($3 \leq n \leq 10^{5}$, $0 \leq k \leq 1$)~--- кількість атестованих людей та тип запиту. Якщо $k=0$, то Артуру цікаво дізнатися мінімальну кількість лицарів, якщо ж $k=1$, то максимальну. \OutputFile У єдиному рядку виведіть одне ціле число --- відповідь за запит короля. \Scoring Рішення, які правильно працюватимуть при $n\leq 20$, набиратимуть не менше $33\%$ балів. Рішення, які правильно працюватимуть при $n\leq 5000$, набиратимуть не менше $66\%$ балів. Рішення, які правильно працюватимуть для одного типу запитів, набиратимуть не менше $45\%$ балів.
Time limit 2 seconds
Memory limit 256 MiB
Input example #1
4 0
Output example #1
2
Input example #2
12 1
Output example #2
6
Author Vlad Bochok