3509: Polo the Penguin and Segments
Description
Little penguin Polo adores integer segments, that is, pairs of integers [l;r] (l≤r).
He has a set that consists of n integer segments: [l1;r1],[l2;r2],...,[ln;rn]. We know that no two segments of this set intersect. In one move Polo can either widen any segment of the set 1 unit to the left or 1 unit to the right, that is transform [l;r] to either segment [l-1;r], or to segment [l;r+1].
The value of a set of segments that consists of n segments [l1;r1],[l2;r2],...,[ln;rn] is the number of integers x, such that there is integer j, for which the following inequality holds, lj≤x≤rj.
Find the minimum number of moves needed to make the value of the set of Polo's segments divisible by k.
The first line contains two integers n and k (1≤n,k≤105). Each of the following n lines contain a segment as a pair of integers li and ri (-105≤li≤ri≤105), separated by a space.
It is guaranteed that no two segments intersect. In other words, for any two integers i,j (1≤i<j≤n) the following inequality holds, min(ri,rj)<max(li,lj).
In a single line print a single integer − the answer to the problem.
2 3
1 2
3 4
2
3 7
1 2
3 3
4 7
0