测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A9571. Wavy numbers

编程题 普及/提高-

题目描述

A wavy number is such positive integer that for any digit of its decimal representation except for the first one and the last one following condition holds: the digit is either strictly larger than both its adjacent digits or strictly less than both its adjacent digits. For example, numbers $35270$ , $102$ , $747$ , $20$ and $3$ are wavy and numbers $123$ , $1000$ and $2212$ are not.

The task is to find the $k$ -th smallest wavy number $r$ that is divisible by $n$ for the given integer values $n$ and $k$ .

You are to write a program that will find the value of $r$ if it doesn't exceed $10^{14}$ .

输入格式

The only line of input contains two integers $n$ and $k$ , separated by a single space ( $1<=n,k<=10^{14}$ ).

输出格式

Your task is to output the only integer $r$ — the answer to the given problem. If such number does not exist or it is larger than $10^{14}$ , then print "-1" (minus one without the quotes) instead.

输入输出样例

输入 #1
123 4
输出 #1
1845
输入 #2
100 1
输出 #2
-1
输入 #3
97461 457
输出 #3
1805270103

说明/提示

The values of the first four wavy numbers that are divisible by $n$ for the first sample are: $492$ , $615$ , $738$ and $1845$ .
上一题 去做题 下一题