import sys

from math import sqrt, floor



input = sys.stdin.readline

sys.setrecursionlimit(10 ** 6)





def I():

    return int(eval(input()))





def MI():

    return list(map(int, input().split()))





def main():

    a, b, n = MI()



    if b - 1 <= n:

        print(((a * (b - 1)) // b))

    else:

        print(((a * n) // b - (a * (n // b))))





if __name__ == "__main__":

    main()

import sys

from math import sqrt, floor



input = sys.stdin.readline

sys.setrecursionlimit(10 ** 6)





def I():

    return int(eval(input()))





def MI():

    return list(map(int, input().split()))





def main():

    a, b, n = MI()



    if b - 1 <= n:

        print(((a * (b - 1)) // b))

    else:

        print(((a * n) // b))





if __name__ == "__main__":

    main()

import sys
from math import sqrt, floor

input = sys.stdin.readline
sys.setrecursionlimit(10**6)


def I():
    return int(eval(input()))


def MI():
    return list(map(int, input().split()))


def main():
    a, b, n = MI()
    if b - 1 <= n:
        print(((a * (b - 1)) // b))
    else:
        print(((a * n) // b - (a * (n // b))))


if __name__ == "__main__":
    main()

import sys
from math import sqrt, floor

input = sys.stdin.readline
sys.setrecursionlimit(10**6)


def I():
    return int(eval(input()))


def MI():
    return list(map(int, input().split()))


def main():
    a, b, n = MI()
    if b - 1 <= n:
        print(((a * (b - 1)) // b))
    else:
        print(((a * n) // b))


if __name__ == "__main__":
    main()

-        print(((a * n) // b - (a * (n // b)))) +        print(((a * n) // b))