using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace yuki415 { class Program { static void Main(string[] args) { var a = scan; int n = a[0]; int d = a[1]; if (n % d == 0) { Console.WriteLine(n / d - 1); } else { var t = new bool[n]; t[0] = true; int cnt=0; int i = 0; while (true) { if (i + d > n - 1) i = i-n+d; if (t[i + d] == true) break; else { int k = ((n-1) - i) / d; cnt += (k + 1); var memo = 0; for (int j = 0; j <= k; j++) { //Console.WriteLine(i + memo); t[i+memo] = true; memo += d; } i = i + d * k; } } Console.WriteLine(cnt-1); } } static int[] scan { get { return Console.ReadLine().Split().Select(int.Parse).ToArray(); } } } }