WILLITST - Will it ever stop

When Bob was in library in University of Warsaw he saw on one of facades caption :"Will it ever stop?" and below some mysterious code:

while n > 1
  if n mod 2 = 0 then
    n:=n/2
  else
    n:=3*n+3

Help him finding it out !

Input

In first line one number n<=10^14.

Output

Print "TAK" if program will stop, otherwise print "NIE"

Example

Input:
4

Output:
TAK

Added by:Krzysztof Lewko
Date:2011-11-09
Time limit:0.906s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64
Resource:AMPPZ 2011

hide comments
2017-06-03 05:36:50
:) happy AC

Last edit: 2017-06-03 05:37:41
2017-05-24 17:57:13
Instead of thinking for which number will loop stop,think for which situation the loop will stop.
2017-05-20 06:52:18
ac in one go! simply try to figure out from 1 to 10 using pen and no need of unsigned long long and bit manipulation,while loop will do ur job.
2017-05-17 15:45:07
AC in one go .
My approach : use a counter (10^8)
Do what the code says . Increment counter every time you iterate.
If counter exceeds (10^8) , print NIE , else print TAK .
Weak test cases I would say :P
2017-04-27 05:49:05
if the loop is infinite then it will repeat the pattern so no need of any bit manipulation. hope it will help.
2017-04-03 19:50:32
HINT: If the number is a power of 2 then it will stop otherwise not.
2017-03-15 08:41:02
use unsigned long long int , long long int costed me WA
2017-02-11 15:51:41
Bit manipulation Says that if( x&(x-1))==0 then number is a power of 2,else not.Dont forget the brackets,it costs me a WA.
2017-01-29 17:42:45
No fancy things required, just try to find out pattern for few starting numbers using pen and paper
2016-12-27 14:54:26 ~~diva~~
no need of bit maipulation , just check if the number is becoming 3,6 or 12 at any time within the while loop .if yes, only then it's forming an infinite loop!

Last edit: 2016-12-27 15:07:49
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.