import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
        //何個とるか
		long num = sc.nextLong();
		//青いボールの数
		long blue = sc.nextLong();
		//赤いボールの数
		long red = sc.nextLong();
		//赤+青が割り切れるか
        long n = num/(blue+red);
      	//赤+青の余り
        long amari=num%(blue+red);
      	//端数がマイナスの場合、amariを足した数を出力
      	if(amari - blue<=0){
         	 System.out.println(blue*n+amari);
        //端数がプラスの場合、青いボールの個数を足して出力
        }else{
             System.out.println(blue*(n+1));
        } 
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
        //何個とるか
		long num = sc.nextLong();
		//青いボールの数
		long blue = sc.nextLong();
		//赤いボールの数
		long red = sc.nextLong();
		//赤+青が割り切れるか
        long n = num/(blue+red);
      	//赤+青の余り
        long amari=num%(blue+red);
      	//端数がマイナスの場合、amariを足した数を出力
      	if(amari - blue<=0){
         	 System.out.println(blue*n+amari);
        //端数がプラスの場合、青いボールの個数を足して出力
        }else{
             System.out.println(blue*(n+1));
        } 
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
        //何個とるか
		long num = sc.nextLong();
		//青いボールの数
		long blue = sc.nextLong();
		//赤いボールの数
		long red = sc.nextLong();
		//赤+青が割り切れるか
        long n = num/(blue+red);
      	//赤+青の余り
        long amari=num%(blue+red);
      	//端数がマイナスの場合、amariを足した数を出力
      	if(amari - blue<=0){
         	 System.out.println(blue*n+amari);
        //端数がプラスの場合、青いボールの個数を足して出力
        }else{
             System.out.println(blue*(n+1));
        } 
	} main {
		Scanner sc = new Scanner(System.in);
        //何個とるか
		long num = sc.nextLong();
		//青いボールの数
		long blue = sc.nextLong();
		//赤いボールの数
		long red = sc.nextLong();
		//赤+青が割り切れるか
        long n = num/(blue+red);
      	//赤+青の余り
        long amari=num%(blue+red);
      	//端数がマイナスの場合、amariを足した数を出力
      	if(amari - blue<=0){
         	 System.out.println(blue*n+amari);
        //端数がプラスの場合、青いボールの個数を足して出力
        }else{
             System.out.println(blue*(n+1));
        } 
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long num = sc.nextLong(); num sc.nextLong() sc.nextLong sc long blue = sc.nextLong(); blue sc.nextLong() sc.nextLong sc long red = sc.nextLong(); red sc.nextLong() sc.nextLong sc long n = num/(blue+red); n num/(blue+red) num (blue+red) blue red long amari=num%(blue+red); amari num%(blue+red) num (blue+red) blue red if(amari - blue<=0){
         	 System.out.println(blue*n+amari);
        //端数がプラスの場合、青いボールの個数を足して出力
        }else{
             System.out.println(blue*(n+1));
        } amari - blue<=0 amari - blue amari blue 0 {
         	 System.out.println(blue*n+amari);
        //端数がプラスの場合、青いボールの個数を足して出力
        } System.out.println(blue*n+amari) System.out.println System.out System System.out blue*n+amari blue*n blue n amari {
             System.out.println(blue*(n+1));
        } System.out.println(blue*(n+1)) System.out.println System.out System System.out blue*(n+1) blue (n+1) n 1 String[] args args public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
        //何個とるか
		long num = sc.nextLong();
		//青いボールの数
		long blue = sc.nextLong();
		//赤いボールの数
		long red = sc.nextLong();
		//赤+青が割り切れるか
        long n = num/(blue+red);
      	//赤+青の余り
        long amari=num%(blue+red);
      	//端数がマイナスの場合、amariを足した数を出力
      	if(amari - blue<=0){
         	 System.out.println(blue*n+amari);
        //端数がプラスの場合、青いボールの個数を足して出力
        }else{
             System.out.println(blue*(n+1));
        } 
	}
} public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
        //何個とるか
		long num = sc.nextLong();
		//青いボールの数
		long blue = sc.nextLong();
		//赤いボールの数
		long red = sc.nextLong();
		//赤+青が割り切れるか
        long n = num/(blue+red);
      	//赤+青の余り
        long amari=num%(blue+red);
      	//端数がマイナスの場合、amariを足した数を出力
      	if(amari - blue<=0){
         	 System.out.println(blue*n+amari);
        //端数がプラスの場合、青いボールの個数を足して出力
        }else{
             System.out.println(blue*(n+1));
        } 
	}
} Main
import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
        //何個とるか
		long num = sc.nextLong();
		//青いボールの数
		long blue = sc.nextLong();
		//赤いボールの数
		long red = sc.nextLong();
		//赤+青が割り切れるか
        long n = num/(blue+red);
      	//赤+青の余り
        long amari=num%(blue+red);
      	//端数がマイナスの場合、amariを足した数を出力
      	if(amari - blue<=0){
         	 System.out.println(blue*n+amari);
        //端数がプラスの場合、青いボールの個数を足して出力
        }else{
             System.out.println(blue*(n+1));
        } 
	}
}