#include <math.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef unsigned long long int ull;
typedef long long int ll;
typedef long double ld;

int compare_base(const void *b, const void *f) {
  return (*(ull *)f - *(ull *)b);
}

int main(void) {
  int scan; // scanf result
  ull a; // to input 
  ull b; // to input 
  ull n; // to input 
  ull *answer;

  scan = scanf("%llu", &a);
  scan = scanf("%llu", &b);
  scan = scanf("%llu", &n);

  answer = (ull *)malloc(sizeof(ull) * (n + 1));
  for (ull i = 0 ; i <= n; i++) {
    answer[i] = (ull)floor((double)((a * i) / b)) - a * (ull)floor((double)(i / b));
  }

  qsort(answer, (n + 1), sizeof(ull), compare_base);
  printf("%llu", answer[0]);
  return (0);
}
