4149: 得到 3 的倍数

内存限制:1024 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:3 解决:2

题目描述

# To 3 ## 题目描述 给定一个正整数 $N$,其中没有任何数字是 0。设 $k$ 为 $N$ 的位数。我们想通过至少擦除 0 个且至多擦除 $k-1$ 个 $N$ 的数字,并在不改变顺序的情况下连接剩余数字,从而得到 3 的倍数。确定是否可能以这种方式得到 3 的倍数。如果可能,找出必须擦除的最少数字数量以得到这样的数。

输入

## 输入格式 输入$N$。

输出

## 输出格式 如果不可能得到 3 的倍数,输出 `-1`;否则,输出必须擦除的最少数字数量以得到这样的数。

样例输入 复制

35

样例输出 复制

1

提示

## 输入输出样例 ### 输入样例1 ``` 35 ``` ### 输出样例1 ``` 1 ``` ### 输入样例2 ``` 369 ``` ### 输出样例2 ``` 0 ``` ### 输入样例3 ``` 6227384 ``` ### 输出样例3 ``` 1 ``` ### 输入样例4 ``` 11 ``` ### 输出样例4 ``` -1 ``` ## 数据范围与提示 【样例1说明】 通过擦除 5,我们得到数字 3,它是 3 的倍数。这里我们擦除了最少可能的数字数量是1。 【样例2说明】 注意我们可以选择不擦除任何数字。 【样例3说明】 例如,通过擦除 8,我们得到数字 622734,它是 3 的倍数。 【样例4说明】 注意我们必须至少擦除 0 个且至多擦除 $k-1$ 个数字,其中 $k$ 是 $N$ 的位数,所以我们不能擦除所有数字。 在这种情况下,不可能按照题目描述的方式得到 3 的倍数,所以我们应该输出 `-1`。 【数据范围】 $1 ≤ N < 10^{18}$, $N$ 中没有任何数字是 0。 ## 题目来源 ABC182C