CF735D.Taxes

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Mr. Funt now lives in a country with a very specific tax laws. The total income of mr. Funt during this year is equal to nn ( n>=2n>=2 ) burles and the amount of tax he has to pay is calculated as the maximum divisor of nn (not equal to nn , of course). For example, if n=6n=6 then Funt has to pay 33 burles, while for n=25n=25 he needs to pay 55 and if n=2n=2 he pays only 11 burle.

As mr. Funt is a very opportunistic person he wants to cheat a bit. In particular, he wants to split the initial nn in several parts n1+n2+...+nk=nn_{1}+n_{2}+...+n_{k}=n (here kk is arbitrary, even k=1k=1 is allowed) and pay the taxes for each part separately. He can't make some part equal to 11 because it will reveal him. So, the condition ni>=2n_{i}>=2 should hold for all ii from 11 to kk .

Ostap Bender wonders, how many money Funt has to pay (i.e. minimal) if he chooses and optimal way to split nn in parts.

输入格式

The first line of the input contains a single integer nn ( 2<=n<=21092<=n<=2·10^{9} ) — the total year income of mr. Funt.

输出格式

Print one integer — minimum possible number of burles that mr. Funt has to pay as a tax.

输入输出样例

  • 输入#1

    4
    

    输出#1

    2
    
  • 输入#2

    27
    

    输出#2

    3
    
首页