import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long n = Long.parseLong(sc.next());
        long a = Long.parseLong(sc.next());
        long b = Long.parseLong(sc.next());
        
        if (a == 0) {
            System.out.println(a);
            return;
        }
        if (n - (a + b) >= 0) {
            // 数える数がボール投入数より多い場合
            long c = n / (a + b);
            long d = n % (a + b);
            if (d - a > 0) {
                System.out.println((c * a) + a);
            } else {
                System.out.println((c * a) + d);
            }
        } else {
            // 数える数がボール投入数より少ない場合
            if (n - a >= 0) {
                System.out.println(a);
            } else {
                System.out.println(n);
            }

        }
        sc.close();
    }
} import java.util.*; util.* java public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long n = Long.parseLong(sc.next());
        long a = Long.parseLong(sc.next());
        long b = Long.parseLong(sc.next());
        
        if (a == 0) {
            System.out.println(a);
            return;
        }
        if (n - (a + b) >= 0) {
            // 数える数がボール投入数より多い場合
            long c = n / (a + b);
            long d = n % (a + b);
            if (d - a > 0) {
                System.out.println((c * a) + a);
            } else {
                System.out.println((c * a) + d);
            }
        } else {
            // 数える数がボール投入数より少ない場合
            if (n - a >= 0) {
                System.out.println(a);
            } else {
                System.out.println(n);
            }

        }
        sc.close();
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long n = Long.parseLong(sc.next());
        long a = Long.parseLong(sc.next());
        long b = Long.parseLong(sc.next());
        
        if (a == 0) {
            System.out.println(a);
            return;
        }
        if (n - (a + b) >= 0) {
            // 数える数がボール投入数より多い場合
            long c = n / (a + b);
            long d = n % (a + b);
            if (d - a > 0) {
                System.out.println((c * a) + a);
            } else {
                System.out.println((c * a) + d);
            }
        } else {
            // 数える数がボール投入数より少ない場合
            if (n - a >= 0) {
                System.out.println(a);
            } else {
                System.out.println(n);
            }

        }
        sc.close();
    } main {
        Scanner sc = new Scanner(System.in);
        long n = Long.parseLong(sc.next());
        long a = Long.parseLong(sc.next());
        long b = Long.parseLong(sc.next());
        
        if (a == 0) {
            System.out.println(a);
            return;
        }
        if (n - (a + b) >= 0) {
            // 数える数がボール投入数より多い場合
            long c = n / (a + b);
            long d = n % (a + b);
            if (d - a > 0) {
                System.out.println((c * a) + a);
            } else {
                System.out.println((c * a) + d);
            }
        } else {
            // 数える数がボール投入数より少ない場合
            if (n - a >= 0) {
                System.out.println(a);
            } else {
                System.out.println(n);
            }

        }
        sc.close();
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) long n = Long.parseLong(sc.next()); n Long.parseLong(sc.next()) Long.parseLong Long sc.next() sc.next sc long a = Long.parseLong(sc.next()); a Long.parseLong(sc.next()) Long.parseLong Long sc.next() sc.next sc long b = Long.parseLong(sc.next()); b Long.parseLong(sc.next()) Long.parseLong Long sc.next() sc.next sc if (a == 0) {
            System.out.println(a);
            return;
        } a == 0 a 0 {
            System.out.println(a);
            return;
        } System.out.println(a) System.out.println System.out System System.out a return; if (n - (a + b) >= 0) {
            // 数える数がボール投入数より多い場合
            long c = n / (a + b);
            long d = n % (a + b);
            if (d - a > 0) {
                System.out.println((c * a) + a);
            } else {
                System.out.println((c * a) + d);
            }
        } else {
            // 数える数がボール投入数より少ない場合
            if (n - a >= 0) {
                System.out.println(a);
            } else {
                System.out.println(n);
            }

        } n - (a + b) >= 0 n - (a + b) n (a + b) a b 0 {
            // 数える数がボール投入数より多い場合
            long c = n / (a + b);
            long d = n % (a + b);
            if (d - a > 0) {
                System.out.println((c * a) + a);
            } else {
                System.out.println((c * a) + d);
            }
        } long c = n / (a + b); c n / (a + b) n (a + b) a b long d = n % (a + b); d n % (a + b) n (a + b) a b if (d - a > 0) {
                System.out.println((c * a) + a);
            } else {
                System.out.println((c * a) + d);
            } d - a > 0 d - a d a 0 {
                System.out.println((c * a) + a);
            } System.out.println((c * a) + a) System.out.println System.out System System.out (c * a) + a (c * a) c a a {
                System.out.println((c * a) + d);
            } System.out.println((c * a) + d) System.out.println System.out System System.out (c * a) + d (c * a) c a d {
            // 数える数がボール投入数より少ない場合
            if (n - a >= 0) {
                System.out.println(a);
            } else {
                System.out.println(n);
            }

        } if (n - a >= 0) {
                System.out.println(a);
            } else {
                System.out.println(n);
            } n - a >= 0 n - a n a 0 {
                System.out.println(a);
            } System.out.println(a) System.out.println System.out System System.out a {
                System.out.println(n);
            } System.out.println(n) System.out.println System.out System System.out n sc.close() sc.close sc String[] args args public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long n = Long.parseLong(sc.next());
        long a = Long.parseLong(sc.next());
        long b = Long.parseLong(sc.next());
        
        if (a == 0) {
            System.out.println(a);
            return;
        }
        if (n - (a + b) >= 0) {
            // 数える数がボール投入数より多い場合
            long c = n / (a + b);
            long d = n % (a + b);
            if (d - a > 0) {
                System.out.println((c * a) + a);
            } else {
                System.out.println((c * a) + d);
            }
        } else {
            // 数える数がボール投入数より少ない場合
            if (n - a >= 0) {
                System.out.println(a);
            } else {
                System.out.println(n);
            }

        }
        sc.close();
    }
} public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long n = Long.parseLong(sc.next());
        long a = Long.parseLong(sc.next());
        long b = Long.parseLong(sc.next());
        
        if (a == 0) {
            System.out.println(a);
            return;
        }
        if (n - (a + b) >= 0) {
            // 数える数がボール投入数より多い場合
            long c = n / (a + b);
            long d = n % (a + b);
            if (d - a > 0) {
                System.out.println((c * a) + a);
            } else {
                System.out.println((c * a) + d);
            }
        } else {
            // 数える数がボール投入数より少ない場合
            if (n - a >= 0) {
                System.out.println(a);
            } else {
                System.out.println(n);
            }

        }
        sc.close();
    }
} Main
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        long n = Long.parseLong(sc.next());
        long a = Long.parseLong(sc.next());
        long b = Long.parseLong(sc.next());
        
        if (a == 0) {
            System.out.println(a);
            return;
        }
        if (n - (a + b) >= 0) {
            // 数える数がボール投入数より多い場合
            long c = n / (a + b);
            long d = n % (a + b);
            if (d - a > 0) {
                System.out.println((c * a) + a);
            } else {
                System.out.println((c * a) + d);
            }
        } else {
            // 数える数がボール投入数より少ない場合
            if (n - a >= 0) {
                System.out.println(a);
            } else {
                System.out.println(n);
            }

        }
        sc.close();
    }
}
