#include <stdio.h>  /*入出力*/
#include <stdlib.h> /*標準ライブラリ*/
#include <string.h> /*文字列*/
#include <math.h>   /*計算*/
#include <assert.h> /*確認*/
#include <ctype.h>  /*文字操作*/
#include <stdbool.h>/*bool型*/
#include <limits.h>/*限界*/
//---------------------------------------------------
#define rep(i, n) for(int  i = 0; i < (n); i++)
//#define max(a,b) ((a>b)?a:b)
#define ABS(a) (((a)>(0))?a:-(a))
#define LL long long
#define MOD 1000000007//10^9+7(素数)
//---------------------------------------------------

//tle
//O(N)ではあうと

LL max(LL a, LL b){
  if (a > b) {
    return a;
  }else return b;
}


int main(void)
{
  double a,b,n;
  LL A,B;
  LL work1, work2;
  LL ans = 0;
  LL sum;
  scanf("%lf %lf %lf", &a, &b, &n);

  if (n < b) {
    printf("%lld\n", (LL)(a*((double)n)/b));
    return 0;
  }else{
    printf("%lld\n", (LL)((a*(double)(b-1))/b) - ((LL)a)*(LL)(((double)(b-1))/b));
  }
  /*

  if ((LL)n % (LL)b == 0) {
    printf("%lld\n", (LL)((a*(double)(n-1))/b) - ((LL)a)*(LL)(((double)(n-1))/b));
  }else{
    printf("%lld\n", (LL)((a*((double)n))/b) - ((LL)a)*(LL)(((double)(n))/b) );
  }
  */
  /*

  for (LL x = b; x <= n; x+=b) {
    work1 = (LL)(a*((double)x)/b);
    work2 = (LL)(((double)x)/b);
    sum = work1 - ((LL)a) *work2;
    ans = max(ans,sum);
  }
  printf("%lld\n", ans);
  */
  return 0;
}
