import java.util.*;
import java.io.*;

class Main {
  public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st;
    
    int n = Integer.parseInt(br.readLine());
    st = new StringTokenizer(br.readLine());
    int a[] = new int[n];
    for(int i=0 ; i<n ; i++) {
      a[i] = Integer.parseInt(st.nextToken());
    }
    
    long lcmans = a[0];
    for(int i=1 ; i<n ; i++) {
      lcmans = lcm(lcmans, a[i]);
    }
    
    long sum = 0;
    for(int i=0 ; i<n ; i++) {
      sum += lcmans/a[i];
    }
    
    System.out.println((double)lcmans/sum);
  }
  
  static long gcd(long a, long b) {
    return (b==0) ? a : gcd(b,a%b);
  }
  
  static long lcm(long a, long b) {
    return (a*b)/gcd(a,b);
  }
} import java.util.*; util.* java import java.io.*; io.* java class Main {
  public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st;
    
    int n = Integer.parseInt(br.readLine());
    st = new StringTokenizer(br.readLine());
    int a[] = new int[n];
    for(int i=0 ; i<n ; i++) {
      a[i] = Integer.parseInt(st.nextToken());
    }
    
    long lcmans = a[0];
    for(int i=1 ; i<n ; i++) {
      lcmans = lcm(lcmans, a[i]);
    }
    
    long sum = 0;
    for(int i=0 ; i<n ; i++) {
      sum += lcmans/a[i];
    }
    
    System.out.println((double)lcmans/sum);
  }
  
  static long gcd(long a, long b) {
    return (b==0) ? a : gcd(b,a%b);
  }
  
  static long lcm(long a, long b) {
    return (a*b)/gcd(a,b);
  }
} Main public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st;
    
    int n = Integer.parseInt(br.readLine());
    st = new StringTokenizer(br.readLine());
    int a[] = new int[n];
    for(int i=0 ; i<n ; i++) {
      a[i] = Integer.parseInt(st.nextToken());
    }
    
    long lcmans = a[0];
    for(int i=1 ; i<n ; i++) {
      lcmans = lcm(lcmans, a[i]);
    }
    
    long sum = 0;
    for(int i=0 ; i<n ; i++) {
      sum += lcmans/a[i];
    }
    
    System.out.println((double)lcmans/sum);
  } main {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st;
    
    int n = Integer.parseInt(br.readLine());
    st = new StringTokenizer(br.readLine());
    int a[] = new int[n];
    for(int i=0 ; i<n ; i++) {
      a[i] = Integer.parseInt(st.nextToken());
    }
    
    long lcmans = a[0];
    for(int i=1 ; i<n ; i++) {
      lcmans = lcm(lcmans, a[i]);
    }
    
    long sum = 0;
    for(int i=0 ; i<n ; i++) {
      sum += lcmans/a[i];
    }
    
    System.out.println((double)lcmans/sum);
  } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); br new BufferedReader(new InputStreamReader(System.in)) StringTokenizer st; st int n = Integer.parseInt(br.readLine()); n Integer.parseInt(br.readLine()) Integer.parseInt Integer br.readLine() br.readLine br st = new StringTokenizer(br.readLine()) st new StringTokenizer(br.readLine()) int a[] = new int[n]; a new int[n] n for(int i=0 ; i<n ; i++) {
      a[i] = Integer.parseInt(st.nextToken());
    } int i=0 ; int i=0 ; i 0 i<n i n i++ i++ i {
      a[i] = Integer.parseInt(st.nextToken());
    } {
      a[i] = Integer.parseInt(st.nextToken());
    } a[i] = Integer.parseInt(st.nextToken()) a[i] a i Integer.parseInt(st.nextToken()) Integer.parseInt Integer st.nextToken() st.nextToken st long lcmans = a[0]; lcmans a[0] a 0 for(int i=1 ; i<n ; i++) {
      lcmans = lcm(lcmans, a[i]);
    } int i=1 ; int i=1 ; i 1 i<n i n i++ i++ i {
      lcmans = lcm(lcmans, a[i]);
    } {
      lcmans = lcm(lcmans, a[i]);
    } lcmans = lcm(lcmans, a[i]) lcmans lcm(lcmans, a[i]) lcm lcmans a[i] a i long sum = 0; sum 0 for(int i=0 ; i<n ; i++) {
      sum += lcmans/a[i];
    } int i=0 ; int i=0 ; i 0 i<n i n i++ i++ i {
      sum += lcmans/a[i];
    } {
      sum += lcmans/a[i];
    } sum += lcmans/a[i] sum lcmans/a[i] lcmans a[i] a i System.out.println((double)lcmans/sum) System.out.println System.out System System.out (double)lcmans/sum (double)lcmans sum String[] args args static long gcd(long a, long b) {
    return (b==0) ? a : gcd(b,a%b);
  } gcd {
    return (b==0) ? a : gcd(b,a%b);
  } return (b==0) ? a : gcd(b,a%b); (b==0) ? a : gcd(b,a%b) (b==0) b 0 a gcd(b,a%b) gcd b a%b a b long a a long b b 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
import java.util.*;
import java.io.*;

class Main {
  public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st;
    
    int n = Integer.parseInt(br.readLine());
    st = new StringTokenizer(br.readLine());
    int a[] = new int[n];
    for(int i=0 ; i<n ; i++) {
      a[i] = Integer.parseInt(st.nextToken());
    }
    
    long lcmans = a[0];
    for(int i=1 ; i<n ; i++) {
      lcmans = lcm(lcmans, a[i]);
    }
    
    long sum = 0;
    for(int i=0 ; i<n ; i++) {
      sum += lcmans/a[i];
    }
    
    System.out.println((double)lcmans/sum);
  }
  
  static long gcd(long a, long b) {
    return (b==0) ? a : gcd(b,a%b);
  }
  
  static long lcm(long a, long b) {
    return (a*b)/gcd(a,b);
  }
}
