## ACPC10A - What’s Next

no tags

According to Wikipedia, an arithmetic progression (AP) is a sequence of numbers such that the difference of any two successive members of the sequence is a constant. For instance, the sequence 3, 5, 7, 9, 11, 13, . . . is an arithmetic progression with common difference 2. For this problem, we will limit ourselves to arithmetic progression whose common difference is a non-zero integer.
On the other hand, a geometric progression (GP) is a sequence of numbers where each term after the first is found by multiplying the previous one by a fixed non-zero number called the common ratio. For example, the sequence 2, 6, 18, 54, . . . is a geometric progression with common ratio 3. For this problem, we will limit ourselves to geometric progression whose common ratio is a non-zero integer.
Given three successive members of a sequence, you need to determine the type of the progression and the next successive member.

### Input

Your program will be tested on one or more test cases. Each case is specified on a single line with three integers (−10, 000 < a1 , a2 , a3 < 10, 000) where a1 , a2 , and a3 are distinct.
The last case is followed by a line with three zeros.

### Output

For each test case, you program must print a single line of the form:
XX v
where XX is either AP or GP depending if the given progression is an Arithmetic or Geometric Progression. v is the next member of the given sequence. All input cases are guaranteed to be either an arithmetic or geometric progressions.

### Example

`Input:4 7 102 6 180 0 0Output:AP 13GP 54` Dushyant Singh: 2015-12-02 16:15:13 @jinesl - Use if ( b == ( a + c ) / 2.0 ) instead of if ( b == ( a + c ) / 2 ) jinesl: 2015-12-01 15:15:57 This thing is blowing me up... I can't understand why I'm getting wrong answer... rameshkonatala: 2015-11-17 07:52:04 Should I convert next no. in GP into fraction and display it? Sid: 2015-11-16 23:15:44 Do take a note of this line above "three integers (−10, 000 < a1 , a2 , a3 < 10, 000) where a1 , a2 , and a3 are distinct." This proves 1, 1, 1 will never be a test case. One silly mistake that I was doing that gave me many WAs was the statement "while (a1 != 0 && a2 != 0 && a3 != 0)". Its only later that I realized this would negate legitimate test cases like -3 0 3, -8 -4 0... i.e. any case with 0 in it(Oops!) HEMANTH SAVASERE: 2015-11-16 13:40:37 hey guys according to definition of AP common difference can be any constant 0 or any negative number so 1 1 1 is an ap and also gp suresh007: 2015-10-28 14:50:27 i think there is no need to check for 1,1,1 sequence as number are distinct(input section). sarthak_8: 2015-10-17 13:56:31 should I put a condition to satisfy the constraints? Last edit: 2015-10-17 13:58:02 cqui: 2015-10-16 10:46:12 a1 , a2 , and a3 are distinct 1 1 1 should not be input. should we check for wrong entries? johnnycash: 2015-10-07 22:25:49 check for silly mistake......its a simple one but costed me many WA because of that reason... (c++) harshmmodi: 2015-10-01 19:56:38 @ nonushikhar... 111 is a GP and not an AP since the given condition says that c.d. and c.ratio both are non-zero integer. Hence c.d. of AP cannot be Zero but c.ratio can be 1 Last edit: 2015-10-01 19:58:30