#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5+5;
int main(){
    ios_base:: sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    ll a,b,n;cin>>a>>b>>n;
    if(b-1<=n)return cout<< (a*(b-1))/b  - a*((b-1)/b) , 0;
    if(a%b)return cout<< (a*n)/b - a*(n/b) , 0;
    ll mx = 0;
    for(ll i=1;i<=a;i++){
        ll v1 = (a*i)/b;
        ll v2 = a*(i/b);
        mx=max(mx,v1-v2);
    }
    cout<<mx;
}
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=1e5+5;
int main(){
    ios_base:: sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    ll a,b,n;cin>>a>>b>>n;
    if(b-1<=n)return cout<< (a*(b-1))/b  - a*((b-1)/b) , 0;
    if(a%b)return cout<< (a*n)/b - a*(n/b) , 0;
    ll mx = 0;
    for(ll i=1;i<=a;i++){
        ll v1 = (a*i)/b;
        ll v2 = a*(i/b);
        mx=max(mx,v1-v2);
    }
    cout<<mx;
}
