Bus Number
题号:NC229276
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

这个夜晚对牛牛来说并不容易。他最喜欢的球队输了,他也没有发现自己赢了——尽管他打得很好,但他的队友每次都让他失望。他至少得再赢一次,但连败的时间却越来越长……难怪他今晚一夜没睡。

早上,牛牛在公交车站等着去大学的公交车。牛牛思绪一片朦胧,记不清正确的车号,于是上了号车。

在公交车上,牛牛觉得他可能把公交车编号的数字顺序弄错了。而且,他可以“看到”几个数字,但他看到的数字绝对是公交车编号的真实数字。例如,如果牛牛看到数字 2028,则可能意味着实际的公交车编号可能是 2028、8022、2820 或只是 820。但是,数字 80、22208、52 绝对不可能是公交车编号。另外,实际公交车编号不能以数字0开头,这意味着,例如,数字082也不能是实际公交车编号。

给定,确定可能的公交车编号的数量。

输入描述:

第一行包含一个整数,表示牛牛看到的公交车编号。
保证这个数字不以0开头。

输出描述:

输出一个整数表示答案。
示例1

输入

复制
97

输出

复制
2

说明

只可能是97和79
示例2

输入

复制
2028

输出

复制
13

说明

可能的公交车编号(按升序)如下:208、280、802、820、2028、2082、2208、2280、2802、2820、8022、8202、8220。

备注:

原题链接:https://codeforces.com/problemset/problem/991/E