using System; using System.Collections.Generic; using System.Linq; using System.Text; using static System.Console; using static System.Math; namespace AtTest.yukicoder { class _810 { static void Main(string[] args) { Method(args); } static void Method(string[] args) { int[] lrm = ReadInts(); int l = lrm[0]; int r = lrm[1]; int m = lrm[2]; if (r - l >= m) WriteLine(m); else { int ll = l % m; int rr = r % m; if (ll <= rr) WriteLine(rr - ll + 1); else WriteLine(rr + m - ll + 1); } } private static string Read() { return ReadLine(); } private static char[] ReadChars() { return Array.ConvertAll(Read().Split(), a => a[0]); } private static int ReadInt() { return int.Parse(Read()); } private static long ReadLong() { return long.Parse(Read()); } private static double ReadDouble() { return double.Parse(Read()); } private static int[] ReadInts() { return Array.ConvertAll(Read().Split(), int.Parse); } private static long[] ReadLongs() { return Array.ConvertAll(Read().Split(), long.Parse); } private static double[] ReadDoubles() { return Array.ConvertAll(Read().Split(), double.Parse); } } }