3719 - 01组成的N的倍数
Description

给定一个自然数 N,找出一个 M,使得 M > 0 且 M 是 N 的倍数,并且 M 的 10 进制表示只包含 0 或 1。求最小的 M。例如:N = 4,M = 100。

Input

输入一行,一个整数 N(1 <= N <= 1000)。

Output

输出满足条件的最小 M。由于 M 可能非常大,请直接输出其十进制表示(不要使用会溢出的整型变量)。

Examples

Input

4

Output

100
Hint

对 N 取余数进行 BFS:把每个"由0/1组成且模N余r"的数看作状态,从1开始每次在末尾追加0或1(余数转移为 (r*10+d)%N),先到达余数0的路径即为最小的M。用父指针记录转移以便还原完整的数字串。为保证最小,按"先短后长、同长度按字典序(先0后1)"的顺序扩展。

Source
51nod
Tags
题目参数
Time Limit 1 second
Memory Limit 128 MB
提交次数 1
通过次数 1