#ぴょん #足場Nが円環状に並ぶ 足場間の間隔は1である、今うさぎは1の足場にいる #うさぎは一回のぴょんでDだけ移動できる #一度飛び出した足場は沈む ぴょんの最大数を求めよ #入力 N,D = map(int,input().split()) #かつて踏んだ足場リスト out_list = [] #ループ now = 1 while(True): #次の足場の計算 if(now+D>N): next = now+D-N else: next = now+D #次の足場がかつて踏んだ足場リストにあるかどうか判定 if(next in out_list): #足場がなければ終了 break else: #足場があれば移動、かつて踏んだ足場リストに追加 out_list.append(now) now = next if(D==N): print("0") else: print(len(out_list))