Problem:
Score : 100 points

Problem Statement

A biscuit making machine produces B biscuits at the following moments: A seconds, 2A seconds, 3A seconds and each subsequent multiple of A seconds after activation.

Find the total number of biscuits produced within T + 0.5 seconds after activation.

Constraints

All values in input are integers.

1 \leq A, B, T \leq 20

Input

Input is given from Standard Input in the following format:

A B T

Output

Print the total number of biscuits produced within T + 0.5 seconds after activation.

Sample Input 1

3 5 7

Sample Output 1

10

Five biscuits will be produced three seconds after activation.

Another five biscuits will be produced six seconds after activation.

Thus, a total of ten biscuits will be produced within 7.5 seconds after activation.

Sample Input 2

3 2 9

Sample Output 2

6

Sample Input 3

20 20 19

Sample Output 3

0

Solution in C++14 (GCC 5.4.1) (judge verdict: Runtime Error)

#include <bits/stdc++.h>
using namespace std;

#define FOR( i, m, n )  for( int (i) = (m); (i) < (n); (i)++ )
#define REP( i, n )     FOR( i, 0, n )
#define ALL( a )        (a).begin(), (a).end()             

typedef pair<int, int> iPair;

int gcd( int a, int b ) { return ( a % b == 0 ) ? b : gcd( b, a % b ); }

int main() {
	int n; cin >> n;
	vector<int> a( n );

	REP( i, n ) cin >> a[i];
	sort( ALL( a ) );

	int mgcd = 0;
	if( n == 2 ) mgcd = max( a[0], a[1] );
	else if( n == 3 ){
		FOR( i, 1,  n ) {
			mgcd = max( gcd( a[i], a[0] ), mgcd );
		}
	} else {
		bool flag = false;
		int tmp;
		REP( i, n ) if( a[i] != 1 ) { tmp = i; break; }

		FOR( i, 1, n) {
			if( a[i] % a[tmp] != 0 ) {
				if( flag == true ) { mgcd = 1; break; }
				flag = true;
			}
		}

		if( flag == false ) mgcd = a[1];
		else if( mgcd != 1 ) mgcd = a[0];
	}


	cout << mgcd << endl;
}