import java.util.Scanner;
 
class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		long A = sc.nextLong();
		long B = sc.nextLong();
		long ans = 0;
		if (N%(A+B) == 0) {
			ans = A*(N/(A+B));
		} else if (A <= N%(A+B)) {
			ans = A*(N/(A+B)) + A;
		} else {
			ans = A*(N/(A+B)) + N%(A+B);
		}
		System.out.println(ans);
	}
} import java.util.Scanner; Scanner java.util class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		long A = sc.nextLong();
		long B = sc.nextLong();
		long ans = 0;
		if (N%(A+B) == 0) {
			ans = A*(N/(A+B));
		} else if (A <= N%(A+B)) {
			ans = A*(N/(A+B)) + A;
		} else {
			ans = A*(N/(A+B)) + N%(A+B);
		}
		System.out.println(ans);
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		long A = sc.nextLong();
		long B = sc.nextLong();
		long ans = 0;
		if (N%(A+B) == 0) {
			ans = A*(N/(A+B));
		} else if (A <= N%(A+B)) {
			ans = A*(N/(A+B)) + A;
		} else {
			ans = A*(N/(A+B)) + N%(A+B);
		}
		System.out.println(ans);
	} main {
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		long A = sc.nextLong();
		long B = sc.nextLong();
		long ans = 0;
		if (N%(A+B) == 0) {
			ans = A*(N/(A+B));
		} else if (A <= N%(A+B)) {
			ans = A*(N/(A+B)) + A;
		} else {
			ans = A*(N/(A+B)) + N%(A+B);
		}
		System.out.println(ans);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long N = sc.nextLong(); N sc.nextLong() sc.nextLong sc long A = sc.nextLong(); A sc.nextLong() sc.nextLong sc long B = sc.nextLong(); B sc.nextLong() sc.nextLong sc long ans = 0; ans 0 if (N%(A+B) == 0) {
			ans = A*(N/(A+B));
		} else if (A <= N%(A+B)) {
			ans = A*(N/(A+B)) + A;
		} else {
			ans = A*(N/(A+B)) + N%(A+B);
		} N%(A+B) == 0 N%(A+B) N (A+B) A B 0 {
			ans = A*(N/(A+B));
		} ans = A*(N/(A+B)) ans A*(N/(A+B)) A (N/(A+B)) N (A+B) A B if (A <= N%(A+B)) {
			ans = A*(N/(A+B)) + A;
		} else {
			ans = A*(N/(A+B)) + N%(A+B);
		} A <= N%(A+B) A N%(A+B) N (A+B) A B {
			ans = A*(N/(A+B)) + A;
		} ans = A*(N/(A+B)) + A ans A*(N/(A+B)) + A A*(N/(A+B)) A (N/(A+B)) N (A+B) A B A {
			ans = A*(N/(A+B)) + N%(A+B);
		} ans = A*(N/(A+B)) + N%(A+B) ans A*(N/(A+B)) + N%(A+B) A*(N/(A+B)) A (N/(A+B)) N (A+B) A B N%(A+B) N (A+B) A B System.out.println(ans) System.out.println System.out System System.out ans String[] args args
import java.util.Scanner;
 
class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		long N = sc.nextLong();
		long A = sc.nextLong();
		long B = sc.nextLong();
		long ans = 0;
		if (N%(A+B) == 0) {
			ans = A*(N/(A+B));
		} else if (A <= N%(A+B)) {
			ans = A*(N/(A+B)) + A;
		} else {
			ans = A*(N/(A+B)) + N%(A+B);
		}
		System.out.println(ans);
	}
}