using
System;
using
System.Collections.Generic;
struct
Node
{
public
int
a, b;
public
string
str;
}
class
GFG
{
static
int
[,] visited =
new
int
[501, 5001];
static
int
findNumber(
int
a,
int
b)
{
Queue<Node> q =
new
Queue<Node>();
Node temp =
new
Node { a = 0, b = 0, str =
""
};
visited[0, 0] = 1;
q.Enqueue(temp);
while
(q.Count != 0)
{
Node u = q.Dequeue();
if
(u.a == 0 && u.b == b)
{
return
Int32.Parse(u.str);
}
for
(
int
i = 0; i < 10; i++)
{
int
dd = (u.a * 10 + i) % a;
int
ss = u.b + i;
if
(ss <= b && visited[dd, ss] == 0)
{
visited[dd, ss] = 1;
q.Enqueue(
new
Node { a = dd, b = ss, str = u.str + Convert.ToChar(
'0'
+ i) });
}
}
}
return
-1;
}
static
void
Main(
string
[] args)
{
int
a = 25, b = 1;
Console.WriteLine(findNumber(a, b));
}
}