#include <stdio.h>

unsigned long long floor(long double x)
{
    return x;
}

unsigned long long max(unsigned long long a, unsigned long long b)
{
    return a > b ? a : b;
}

int main(int argc, char const *argv[])
{
    unsigned long long A, B, N, Max = 0;

    scanf("%llu %llu %llu", &A, &B, &N);
    for (size_t x = 0; x <= N; x++)
    {
        Max = max(Max, floor((A * x) / B) - A * floor(x / B));
    }

    printf("%llu\n", Max);

    return 0;
}
