MATNUM - Divisibility Test

no tags 

Problem statement is simple and straight forward. You will be given a non-negative integer P of length N and you need to check whether it's divisible by Q?

Integer P will be given in its decimal representation with P0 as leftmost digit and P1 as second digit from left!

Rest of the digit can be generated from the formula:

Pi = (4*Pi-1 + Pi-2) modulo Q      for 2 <= i <= N-1

Input

The first line contains one integer T - denoting the number of test cases.

T lines follow each containing four integers P0, P1, Q and N!

Output

For each testcase output YES if the corresponding integer is divisible by Q and NO otherwise.

Constraints

  • T <= 100000
  • 0 < P0, P1, Q < 10
  • 0 < N <= 1018

Example

Input:
4
1 4 2 2
1 4 2 1
4 2 3 2
3 4 7 3

Output:
YES
NO
YES
NO

Explanation

Value of P is 14, 1, 42, 345 in respective cases ! 


hide comments
Bhuvnesh Jain: 2015-11-30 13:57:04

test files are not according to the constraints.
For q>=10, assertion fails and I am getting sigabrt error

(reply) => thanks for pointing it out . Test data are rectified now. Sorry for the inconvenience caused !

Last edit: 2015-11-30 15:35:04

Added by:Adarsh kumar
Date:2015-11-29
Time limit:1s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: ASM64 GOSU JS-MONKEY
Resource:Own problem