Problem:
Score : 100 points

Problem Statement

You went shopping to buy cakes and donuts with X yen (the currency of Japan).

First, you bought one cake for A yen at a cake shop.
Then, you bought as many donuts as possible for B yen each, at a donut shop.

How much do you have left after shopping?

Constraints

1 \leq A, B \leq 1 000

A + B \leq X \leq 10 000

X, A and B are integers.

Input

Input is given from Standard Input in the following format:

X
A
B

Output

Print the amount you have left after shopping.

Sample Input 1

1234
150
100

Sample Output 1

84

You have 1234 - 150 = 1084 yen left after buying a cake.
With this amount, you can buy 10 donuts, after which you have 84 yen left.

Sample Input 2

1000
108
108

Sample Output 2

28

Sample Input 3

579
123
456

Sample Output 3

0

Sample Input 4

7477
549
593

Sample Output 4

405

Solution in C (GCC 5.4.1) (judge verdict: Wrong Answer)

/*
 AtCoder AXC 000
 */
 
#include <stdio.h>

int main(void){
	
	int a,b,c,x; //xは50の倍数
	int p=0;
	int i,j,k,n,m;
	int temp_x;
	
	
	scanf("%d",&a);
	scanf("%d",&b);
	scanf("%d",&c);
	scanf("%d",&x);
	
	temp_x = x;
	
	for(i=0; x >= 500 && i < a; i++) x -= 500;
	for(j=0; x >= 100 && j < b; j++) x -= 100;
	for(k=0; x >=  50 && k < c; k++) x -= 50;
	
	if(x != 0){
		printf("%d",p);
		return 0;
	}
	
	for(; i>=0;i--,j+=5){
		// 500 -> 100*5
		
		for(n=j,m=k; n>=0; n--,m+=2){
			// 100 -> 50*2
			if(i<=a && n<=b && m<=c){
				//printf("(500,100,50) = (%d,%d,%d)\n",i,n,m);
				p++;
			}
		}
	}
	
	printf("%d",p);
	
	return 0;
}