import java.util.Scanner;

/**
 * @author yoshizaki
 * ABC 156
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        long count = scanner.nextLong();
        long blue = scanner.nextLong();
        long red = scanner.nextLong();

        long balls = 0;
        long bcount = 0;
        // 青だけ並ぶ
        if (count <= blue) {
            bcount = count;
        } else {
            // 青と赤が並ぶ
            // 青と赤が何セット並べられるか
            long set = (long) (count / (blue + red));
            // セット数から青の個数を出す
            bcount = set * blue;
            // 並べたボールの数を出す
            balls = set * (blue + red);
            // 青を並べきれるならそのまま追加
            if (count - balls >= blue) {
                bcount += blue;
            } else {
            // 青を並べきれない場合は残りの個数が青 
                bcount += (count - balls);
            }
        }
        System.out.println(bcount);
    }
} import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        long count = scanner.nextLong();
        long blue = scanner.nextLong();
        long red = scanner.nextLong();

        long balls = 0;
        long bcount = 0;
        // 青だけ並ぶ
        if (count <= blue) {
            bcount = count;
        } else {
            // 青と赤が並ぶ
            // 青と赤が何セット並べられるか
            long set = (long) (count / (blue + red));
            // セット数から青の個数を出す
            bcount = set * blue;
            // 並べたボールの数を出す
            balls = set * (blue + red);
            // 青を並べきれるならそのまま追加
            if (count - balls >= blue) {
                bcount += blue;
            } else {
            // 青を並べきれない場合は残りの個数が青 
                bcount += (count - balls);
            }
        }
        System.out.println(bcount);
    }
} Main public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        long count = scanner.nextLong();
        long blue = scanner.nextLong();
        long red = scanner.nextLong();

        long balls = 0;
        long bcount = 0;
        // 青だけ並ぶ
        if (count <= blue) {
            bcount = count;
        } else {
            // 青と赤が並ぶ
            // 青と赤が何セット並べられるか
            long set = (long) (count / (blue + red));
            // セット数から青の個数を出す
            bcount = set * blue;
            // 並べたボールの数を出す
            balls = set * (blue + red);
            // 青を並べきれるならそのまま追加
            if (count - balls >= blue) {
                bcount += blue;
            } else {
            // 青を並べきれない場合は残りの個数が青 
                bcount += (count - balls);
            }
        }
        System.out.println(bcount);
    } main {
        Scanner scanner= new Scanner(System.in);
        long count = scanner.nextLong();
        long blue = scanner.nextLong();
        long red = scanner.nextLong();

        long balls = 0;
        long bcount = 0;
        // 青だけ並ぶ
        if (count <= blue) {
            bcount = count;
        } else {
            // 青と赤が並ぶ
            // 青と赤が何セット並べられるか
            long set = (long) (count / (blue + red));
            // セット数から青の個数を出す
            bcount = set * blue;
            // 並べたボールの数を出す
            balls = set * (blue + red);
            // 青を並べきれるならそのまま追加
            if (count - balls >= blue) {
                bcount += blue;
            } else {
            // 青を並べきれない場合は残りの個数が青 
                bcount += (count - balls);
            }
        }
        System.out.println(bcount);
    } Scanner scanner= new Scanner(System.in); scanner new Scanner(System.in) long count = scanner.nextLong(); count scanner.nextLong() scanner.nextLong scanner long blue = scanner.nextLong(); blue scanner.nextLong() scanner.nextLong scanner long red = scanner.nextLong(); red scanner.nextLong() scanner.nextLong scanner long balls = 0; balls 0 long bcount = 0; bcount 0 if (count <= blue) {
            bcount = count;
        } else {
            // 青と赤が並ぶ
            // 青と赤が何セット並べられるか
            long set = (long) (count / (blue + red));
            // セット数から青の個数を出す
            bcount = set * blue;
            // 並べたボールの数を出す
            balls = set * (blue + red);
            // 青を並べきれるならそのまま追加
            if (count - balls >= blue) {
                bcount += blue;
            } else {
            // 青を並べきれない場合は残りの個数が青 
                bcount += (count - balls);
            }
        } count <= blue count blue {
            bcount = count;
        } bcount = count bcount count {
            // 青と赤が並ぶ
            // 青と赤が何セット並べられるか
            long set = (long) (count / (blue + red));
            // セット数から青の個数を出す
            bcount = set * blue;
            // 並べたボールの数を出す
            balls = set * (blue + red);
            // 青を並べきれるならそのまま追加
            if (count - balls >= blue) {
                bcount += blue;
            } else {
            // 青を並べきれない場合は残りの個数が青 
                bcount += (count - balls);
            }
        } long set = (long) (count / (blue + red)); set (long) (count / (blue + red)) count (blue + red) blue red bcount = set * blue bcount set * blue set blue balls = set * (blue + red) balls set * (blue + red) set (blue + red) blue red if (count - balls >= blue) {
                bcount += blue;
            } else {
            // 青を並べきれない場合は残りの個数が青 
                bcount += (count - balls);
            } count - balls >= blue count - balls count balls blue {
                bcount += blue;
            } bcount += blue bcount blue {
            // 青を並べきれない場合は残りの個数が青 
                bcount += (count - balls);
            } bcount += (count - balls) bcount (count - balls) count balls System.out.println(bcount) System.out.println System.out System System.out bcount String[] args args public class Main {
    public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        long count = scanner.nextLong();
        long blue = scanner.nextLong();
        long red = scanner.nextLong();

        long balls = 0;
        long bcount = 0;
        // 青だけ並ぶ
        if (count <= blue) {
            bcount = count;
        } else {
            // 青と赤が並ぶ
            // 青と赤が何セット並べられるか
            long set = (long) (count / (blue + red));
            // セット数から青の個数を出す
            bcount = set * blue;
            // 並べたボールの数を出す
            balls = set * (blue + red);
            // 青を並べきれるならそのまま追加
            if (count - balls >= blue) {
                bcount += blue;
            } else {
            // 青を並べきれない場合は残りの個数が青 
                bcount += (count - balls);
            }
        }
        System.out.println(bcount);
    }
} public class Main {
    public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        long count = scanner.nextLong();
        long blue = scanner.nextLong();
        long red = scanner.nextLong();

        long balls = 0;
        long bcount = 0;
        // 青だけ並ぶ
        if (count <= blue) {
            bcount = count;
        } else {
            // 青と赤が並ぶ
            // 青と赤が何セット並べられるか
            long set = (long) (count / (blue + red));
            // セット数から青の個数を出す
            bcount = set * blue;
            // 並べたボールの数を出す
            balls = set * (blue + red);
            // 青を並べきれるならそのまま追加
            if (count - balls >= blue) {
                bcount += blue;
            } else {
            // 青を並べきれない場合は残りの個数が青 
                bcount += (count - balls);
            }
        }
        System.out.println(bcount);
    }
} Main
import java.util.Scanner;

/**
 * @author yoshizaki
 * ABC 156
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner= new Scanner(System.in);
        long count = scanner.nextLong();
        long blue = scanner.nextLong();
        long red = scanner.nextLong();

        long balls = 0;
        long bcount = 0;
        // 青だけ並ぶ
        if (count <= blue) {
            bcount = count;
        } else {
            // 青と赤が並ぶ
            // 青と赤が何セット並べられるか
            long set = (long) (count / (blue + red));
            // セット数から青の個数を出す
            bcount = set * blue;
            // 並べたボールの数を出す
            balls = set * (blue + red);
            // 青を並べきれるならそのまま追加
            if (count - balls >= blue) {
                bcount += blue;
            } else {
            // 青を並べきれない場合は残りの個数が青 
                bcount += (count - balls);
            }
        }
        System.out.println(bcount);
    }
}