Problem:
Score : 700 points

Problem Statement

Find the smallest possible sum of the digits in the decimal notation of a positive multiple of K.

Constraints

2 \leq K \leq 10^5

K is an integer.

Input

Input is given from Standard Input in the following format:

K

Output

Print the smallest possible sum of the digits in the decimal notation of a positive multiple of K.

Sample Input 1

6

Sample Output 1

3

12=6×2 yields the smallest sum.

Sample Input 2

41

Sample Output 2

5

11111=41×271 yields the smallest sum.

Sample Input 3

79992

Sample Output 3

36

Solution in Pascal (FPC 2.6.2) (judge verdict: Wrong Answer)

var n:string;
    i,w,ans,min,k,j:longint;
    a,b:array[0..100000]of longint;
procedure gao;
var i:longint;
begin
  for i:=1 to k do 
    a[i]:=a[i]+b[i];
  for i:=1 to w do 
    if a[i]>9
    then begin
           a[i+1]:=a[i+1]+1;
           a[i]:=a[i]-10;
         end;  
  if a[w+1]>0
  then w:=w+1;
  for i:=1 to w do 
    ans:=ans+a[i];
end;
begin
  readln(n);
  min:=maxlongint;
  for i:=length(n) downto 1 do
    a[length(n)-i+1]:=ord(n[i])-48;
  for i:=1 to length(n) do
    b[i]:=a[i];  
  k:=length(n);
  w:=length(n);    
  for i:=1 to 20000 do 
    begin
      ans:=0;
      gao;
      if ans<min
      then min:=ans;
    end;
  writeln(min);
end.