import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
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 = Integer.parseInt(st.nextToken());
        // long denom = 1;
        double ans = 0;
        for (int i = 0; i < N; i++) {
            double a = Double.parseDouble(st.nextToken());
            /*
             * long a = Integer.parseInt(st.nextToken()); long c = lcm(a, lcm); denom *= c /
             * lcm; denom += c / a; lcm = c;
             */
            ans += 1 / a;
        }
        // double ans = (double) lcm / (double) denom;
        // out.println(ans);
        out.println(1 / 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.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 = Integer.parseInt(st.nextToken());
        // long denom = 1;
        double ans = 0;
        for (int i = 0; i < N; i++) {
            double a = Double.parseDouble(st.nextToken());
            /*
             * long a = Integer.parseInt(st.nextToken()); long c = lcm(a, lcm); denom *= c /
             * lcm; denom += c / a; lcm = c;
             */
            ans += 1 / a;
        }
        // double ans = (double) lcm / (double) denom;
        // out.println(ans);
        out.println(1 / 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 = Integer.parseInt(st.nextToken());
        // long denom = 1;
        double ans = 0;
        for (int i = 0; i < N; i++) {
            double a = Double.parseDouble(st.nextToken());
            /*
             * long a = Integer.parseInt(st.nextToken()); long c = lcm(a, lcm); denom *= c /
             * lcm; denom += c / a; lcm = c;
             */
            ans += 1 / a;
        }
        // double ans = (double) lcm / (double) denom;
        // out.println(ans);
        out.println(1 / 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 = Integer.parseInt(st.nextToken());
        // long denom = 1;
        double ans = 0;
        for (int i = 0; i < N; i++) {
            double a = Double.parseDouble(st.nextToken());
            /*
             * long a = Integer.parseInt(st.nextToken()); long c = lcm(a, lcm); denom *= c /
             * lcm; denom += c / a; lcm = c;
             */
            ans += 1 / a;
        }
        // double ans = (double) lcm / (double) denom;
        // out.println(ans);
        out.println(1 / 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()) double ans = 0; ans 0 for (int i = 0; i < N; i++) {
            double a = Double.parseDouble(st.nextToken());
            /*
             * long a = Integer.parseInt(st.nextToken()); long c = lcm(a, lcm); denom *= c /
             * lcm; denom += c / a; lcm = c;
             */
            ans += 1 / a;
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            double a = Double.parseDouble(st.nextToken());
            /*
             * long a = Integer.parseInt(st.nextToken()); long c = lcm(a, lcm); denom *= c /
             * lcm; denom += c / a; lcm = c;
             */
            ans += 1 / a;
        } {
            double a = Double.parseDouble(st.nextToken());
            /*
             * long a = Integer.parseInt(st.nextToken()); long c = lcm(a, lcm); denom *= c /
             * lcm; denom += c / a; lcm = c;
             */
            ans += 1 / a;
        } double a = Double.parseDouble(st.nextToken()); a Double.parseDouble(st.nextToken()) Double.parseDouble Double st.nextToken() st.nextToken st ans += 1 / a ans 1 / a 1 a out.println(1 / ans) out.println out 1 / ans 1 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 = Integer.parseInt(st.nextToken());
        // long denom = 1;
        double ans = 0;
        for (int i = 0; i < N; i++) {
            double a = Double.parseDouble(st.nextToken());
            /*
             * long a = Integer.parseInt(st.nextToken()); long c = lcm(a, lcm); denom *= c /
             * lcm; denom += c / a; lcm = c;
             */
            ans += 1 / a;
        }
        // double ans = (double) lcm / (double) denom;
        // out.println(ans);
        out.println(1 / 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 = Integer.parseInt(st.nextToken());
        // long denom = 1;
        double ans = 0;
        for (int i = 0; i < N; i++) {
            double a = Double.parseDouble(st.nextToken());
            /*
             * long a = Integer.parseInt(st.nextToken()); long c = lcm(a, lcm); denom *= c /
             * lcm; denom += c / a; lcm = c;
             */
            ans += 1 / a;
        }
        // double ans = (double) lcm / (double) denom;
        // out.println(ans);
        out.println(1 / 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.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 = Integer.parseInt(st.nextToken());
        // long denom = 1;
        double ans = 0;
        for (int i = 0; i < N; i++) {
            double a = Double.parseDouble(st.nextToken());
            /*
             * long a = Integer.parseInt(st.nextToken()); long c = lcm(a, lcm); denom *= c /
             * lcm; denom += c / a; lcm = c;
             */
            ans += 1 / a;
        }
        // double ans = (double) lcm / (double) denom;
        // out.println(ans);
        out.println(1 / 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);
    }

}