#include <iostream>
using namespace std;

int main(void){
    double x,y,z; //take_g, taka_yen, su_g, su_yen

    cin >> x >> y >> z;
    
    // 高橋,すぬの1gあたりの値段
    double taka_per_yen = y/x;
    double su_per_yen;
    // すぬの1gあたりの値段がより小さくなるまで回す
    int amp = z*taka_per_yen;

    while(true){
        su_per_yen = amp/z;

        if(su_per_yen < taka_per_yen || amp <= 0){
            break;
        }
        amp--;
    }
    cout << amp << endl;
    

    return 0;
}
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<bitset>
#include<cmath>
#include<ctime>
#include<queue>
#include<map>
#include<set>

#define int long long
#define lowbit(x) (x&(-x))
#define mid ((l+r)>>1)
#define lc (x<<1)
#define rc (x<<1|1)
#define max Max
#define min Min
#define abs Abs

using namespace std;

inline int read()
{
	int ans=0,f=1;
	char c=getchar();
	while(c>'9'||c<'0'){if(c=='-')f=-1;c=getchar();}
	while(c>='0'&&c<='9'){ans=(ans<<1)+(ans<<3)+c-'0';c=getchar();}
	return ans*f;
}

inline void write(int x)
{
	if(x<0) putchar('-'),x=-x;
	if(x/10) write(x/10);
	putchar((char)(x%10)+'0');
}

template<typename T>inline T Abs(T a){return a>0?a:-a;};
template<typename T,typename TT>inline T Min(T a,TT b){return a>b?b:a;}
template<typename T,typename TT> inline T Max(T a,TT b){return a>b?a:b;}

int n,m,ans;

signed main()
{
	n=read();m=1;
	for(int i=2;i<=n;++i)
		m=m*i/__gcd(i,m);
	printf("%lld\n",m+1);
	return 0;
} 