import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.StringTokenizer;

public class Main { // Template for CF
    public static class ListComparator implements Comparator<List<Integer>> {

        @Override
        public int compare(List<Integer> l1, List<Integer> l2) {
            for (int i = 0; i < l1.size(); ++i) {
                if (l1.get(i).compareTo(l2.get(i)) != 0) {
                    return l1.get(i).compareTo(l2.get(i));
                }
            }
            return 0;
        }
    }

    public static void main(String[] args) throws IOException {
        // Check for int overflow!!!!
        // Should you use a long to store the sum or smthn?
        BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(System.out);
        int N = Integer.parseInt(f.readLine());
        StringTokenizer st = new StringTokenizer(f.readLine());
        long lcm = 1;
        long denom = 0;
        List<Long> list = new ArrayList<>();
        for (int i = 0; i < N; i++) {
            long a = Integer.parseInt(st.nextToken());
            lcm = lcm(a, lcm);
            list.add(a);
        }
        for (int i = 0; i < N; i++) {
            denom += lcm / list.get(i);
        }
        double ans = (double) lcm / (double) denom;
        out.println(ans);
        out.close();
    }

    public static long lcm(long a, long b) {
        return (a * b) / gcd(a, b);
    }

    public static long gcd(long a, long b) {
        if (b == 0) {
            return a;
        }
        return gcd(b, a % b);
    }

} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.io.PrintWriter; PrintWriter java.io import java.util.ArrayList; ArrayList java.util import java.util.Comparator; Comparator java.util import java.util.List; List java.util import java.util.StringTokenizer; StringTokenizer java.util public class Main { // Template for CF
    public static class ListComparator implements Comparator<List<Integer>> {

        @Override
        public int compare(List<Integer> l1, List<Integer> l2) {
            for (int i = 0; i < l1.size(); ++i) {
                if (l1.get(i).compareTo(l2.get(i)) != 0) {
                    return l1.get(i).compareTo(l2.get(i));
                }
            }
            return 0;
        }
    }

    public static void main(String[] args) throws IOException {
        // Check for int overflow!!!!
        // Should you use a long to store the sum or smthn?
        BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(System.out);
        int N = Integer.parseInt(f.readLine());
        StringTokenizer st = new StringTokenizer(f.readLine());
        long lcm = 1;
        long denom = 0;
        List<Long> list = new ArrayList<>();
        for (int i = 0; i < N; i++) {
            long a = Integer.parseInt(st.nextToken());
            lcm = lcm(a, lcm);
            list.add(a);
        }
        for (int i = 0; i < N; i++) {
            denom += lcm / list.get(i);
        }
        double ans = (double) lcm / (double) denom;
        out.println(ans);
        out.close();
    }

    public static long lcm(long a, long b) {
        return (a * b) / gcd(a, b);
    }

    public static long gcd(long a, long b) {
        if (b == 0) {
            return a;
        }
        return gcd(b, a % b);
    }

} Main public static void main(String[] args) throws IOException {
        // Check for int overflow!!!!
        // Should you use a long to store the sum or smthn?
        BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(System.out);
        int N = Integer.parseInt(f.readLine());
        StringTokenizer st = new StringTokenizer(f.readLine());
        long lcm = 1;
        long denom = 0;
        List<Long> list = new ArrayList<>();
        for (int i = 0; i < N; i++) {
            long a = Integer.parseInt(st.nextToken());
            lcm = lcm(a, lcm);
            list.add(a);
        }
        for (int i = 0; i < N; i++) {
            denom += lcm / list.get(i);
        }
        double ans = (double) lcm / (double) denom;
        out.println(ans);
        out.close();
    } main {
        // Check for int overflow!!!!
        // Should you use a long to store the sum or smthn?
        BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(System.out);
        int N = Integer.parseInt(f.readLine());
        StringTokenizer st = new StringTokenizer(f.readLine());
        long lcm = 1;
        long denom = 0;
        List<Long> list = new ArrayList<>();
        for (int i = 0; i < N; i++) {
            long a = Integer.parseInt(st.nextToken());
            lcm = lcm(a, lcm);
            list.add(a);
        }
        for (int i = 0; i < N; i++) {
            denom += lcm / list.get(i);
        }
        double ans = (double) lcm / (double) denom;
        out.println(ans);
        out.close();
    } BufferedReader f = new BufferedReader(new InputStreamReader(System.in)); f new BufferedReader(new InputStreamReader(System.in)) PrintWriter out = new PrintWriter(System.out); out new PrintWriter(System.out) int N = Integer.parseInt(f.readLine()); N Integer.parseInt(f.readLine()) Integer.parseInt Integer f.readLine() f.readLine f StringTokenizer st = new StringTokenizer(f.readLine()); st new StringTokenizer(f.readLine()) long lcm = 1; lcm 1 long denom = 0; denom 0 List<Long> list = new ArrayList<>(); list new ArrayList<>() for (int i = 0; i < N; i++) {
            long a = Integer.parseInt(st.nextToken());
            lcm = lcm(a, lcm);
            list.add(a);
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            long a = Integer.parseInt(st.nextToken());
            lcm = lcm(a, lcm);
            list.add(a);
        } {
            long a = Integer.parseInt(st.nextToken());
            lcm = lcm(a, lcm);
            list.add(a);
        } long a = Integer.parseInt(st.nextToken()); a Integer.parseInt(st.nextToken()) Integer.parseInt Integer st.nextToken() st.nextToken st lcm = lcm(a, lcm) lcm lcm(a, lcm) lcm a lcm list.add(a) list.add list a for (int i = 0; i < N; i++) {
            denom += lcm / list.get(i);
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            denom += lcm / list.get(i);
        } {
            denom += lcm / list.get(i);
        } denom += lcm / list.get(i) denom lcm / list.get(i) lcm list.get(i) list.get list i double ans = (double) lcm / (double) denom; ans (double) lcm / (double) denom (double) lcm (double) denom out.println(ans) out.println out ans out.close() out.close out String[] args args public static long lcm(long a, long b) {
        return (a * b) / gcd(a, b);
    } lcm {
        return (a * b) / gcd(a, b);
    } return (a * b) / gcd(a, b); (a * b) / gcd(a, b) (a * b) a b gcd(a, b) gcd a b long a a long b b public static long gcd(long a, long b) {
        if (b == 0) {
            return a;
        }
        return gcd(b, a % b);
    } gcd {
        if (b == 0) {
            return a;
        }
        return gcd(b, a % b);
    } if (b == 0) {
            return a;
        } b == 0 b 0 {
            return a;
        } return a; a return gcd(b, a % b); gcd(b, a % b) gcd b a % b a b long a a long b b public static class ListComparator implements Comparator<List<Integer>> {

        @Override
        public int compare(List<Integer> l1, List<Integer> l2) {
            for (int i = 0; i < l1.size(); ++i) {
                if (l1.get(i).compareTo(l2.get(i)) != 0) {
                    return l1.get(i).compareTo(l2.get(i));
                }
            }
            return 0;
        }
    } ListComparator @Override
        public int compare(List<Integer> l1, List<Integer> l2) {
            for (int i = 0; i < l1.size(); ++i) {
                if (l1.get(i).compareTo(l2.get(i)) != 0) {
                    return l1.get(i).compareTo(l2.get(i));
                }
            }
            return 0;
        } compare {
            for (int i = 0; i < l1.size(); ++i) {
                if (l1.get(i).compareTo(l2.get(i)) != 0) {
                    return l1.get(i).compareTo(l2.get(i));
                }
            }
            return 0;
        } for (int i = 0; i < l1.size(); ++i) {
                if (l1.get(i).compareTo(l2.get(i)) != 0) {
                    return l1.get(i).compareTo(l2.get(i));
                }
            } int i = 0; int i = 0; i 0 i < l1.size() i l1.size() l1.size l1 ++i ++i i {
                if (l1.get(i).compareTo(l2.get(i)) != 0) {
                    return l1.get(i).compareTo(l2.get(i));
                }
            } {
                if (l1.get(i).compareTo(l2.get(i)) != 0) {
                    return l1.get(i).compareTo(l2.get(i));
                }
            } if (l1.get(i).compareTo(l2.get(i)) != 0) {
                    return l1.get(i).compareTo(l2.get(i));
                } l1.get(i).compareTo(l2.get(i)) != 0 l1.get(i).compareTo(l2.get(i)) l1.get(i).compareTo l1.get(i) l1.get l1 i l2.get(i) l2.get l2 i 0 {
                    return l1.get(i).compareTo(l2.get(i));
                } return l1.get(i).compareTo(l2.get(i)); l1.get(i).compareTo(l2.get(i)) l1.get(i).compareTo l1.get(i) l1.get l1 i l2.get(i) l2.get l2 i return 0; 0 List<Integer> l1 l1 List<Integer> l2 l2 Comparator public class Main { // Template for CF
    public static class ListComparator implements Comparator<List<Integer>> {

        @Override
        public int compare(List<Integer> l1, List<Integer> l2) {
            for (int i = 0; i < l1.size(); ++i) {
                if (l1.get(i).compareTo(l2.get(i)) != 0) {
                    return l1.get(i).compareTo(l2.get(i));
                }
            }
            return 0;
        }
    }

    public static void main(String[] args) throws IOException {
        // Check for int overflow!!!!
        // Should you use a long to store the sum or smthn?
        BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(System.out);
        int N = Integer.parseInt(f.readLine());
        StringTokenizer st = new StringTokenizer(f.readLine());
        long lcm = 1;
        long denom = 0;
        List<Long> list = new ArrayList<>();
        for (int i = 0; i < N; i++) {
            long a = Integer.parseInt(st.nextToken());
            lcm = lcm(a, lcm);
            list.add(a);
        }
        for (int i = 0; i < N; i++) {
            denom += lcm / list.get(i);
        }
        double ans = (double) lcm / (double) denom;
        out.println(ans);
        out.close();
    }

    public static long lcm(long a, long b) {
        return (a * b) / gcd(a, b);
    }

    public static long gcd(long a, long b) {
        if (b == 0) {
            return a;
        }
        return gcd(b, a % b);
    }

} public class Main { // Template for CF
    public static class ListComparator implements Comparator<List<Integer>> {

        @Override
        public int compare(List<Integer> l1, List<Integer> l2) {
            for (int i = 0; i < l1.size(); ++i) {
                if (l1.get(i).compareTo(l2.get(i)) != 0) {
                    return l1.get(i).compareTo(l2.get(i));
                }
            }
            return 0;
        }
    }

    public static void main(String[] args) throws IOException {
        // Check for int overflow!!!!
        // Should you use a long to store the sum or smthn?
        BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(System.out);
        int N = Integer.parseInt(f.readLine());
        StringTokenizer st = new StringTokenizer(f.readLine());
        long lcm = 1;
        long denom = 0;
        List<Long> list = new ArrayList<>();
        for (int i = 0; i < N; i++) {
            long a = Integer.parseInt(st.nextToken());
            lcm = lcm(a, lcm);
            list.add(a);
        }
        for (int i = 0; i < N; i++) {
            denom += lcm / list.get(i);
        }
        double ans = (double) lcm / (double) denom;
        out.println(ans);
        out.close();
    }

    public static long lcm(long a, long b) {
        return (a * b) / gcd(a, b);
    }

    public static long gcd(long a, long b) {
        if (b == 0) {
            return a;
        }
        return gcd(b, a % b);
    }

} Main
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.StringTokenizer;

public class Main { // Template for CF
    public static class ListComparator implements Comparator<List<Integer>> {

        @Override
        public int compare(List<Integer> l1, List<Integer> l2) {
            for (int i = 0; i < l1.size(); ++i) {
                if (l1.get(i).compareTo(l2.get(i)) != 0) {
                    return l1.get(i).compareTo(l2.get(i));
                }
            }
            return 0;
        }
    }

    public static void main(String[] args) throws IOException {
        // Check for int overflow!!!!
        // Should you use a long to store the sum or smthn?
        BufferedReader f = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter out = new PrintWriter(System.out);
        int N = Integer.parseInt(f.readLine());
        StringTokenizer st = new StringTokenizer(f.readLine());
        long lcm = 1;
        long denom = 0;
        List<Long> list = new ArrayList<>();
        for (int i = 0; i < N; i++) {
            long a = Integer.parseInt(st.nextToken());
            lcm = lcm(a, lcm);
            list.add(a);
        }
        for (int i = 0; i < N; i++) {
            denom += lcm / list.get(i);
        }
        double ans = (double) lcm / (double) denom;
        out.println(ans);
        out.close();
    }

    public static long lcm(long a, long b) {
        return (a * b) / gcd(a, b);
    }

    public static long gcd(long a, long b) {
        if (b == 0) {
            return a;
        }
        return gcd(b, a % b);
    }

}
