import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class No212 { static int[] prime = { 2, 3, 5, 7, 11, 13 }; static int[] composite = { 4, 6, 8, 9, 10, 12 }; public static void main(String[] args) { try { BufferedReader br = new BufferedReader(new InputStreamReader( System.in)); int[] a = strToIntArray(br.readLine()); List ansList = new ArrayList(); int P = a[0]; int C = a[1]; for (int i = 0; i < P; i++) { List ansList_tmp = new ArrayList(); for (int j : prime) { if (i == 0) { ansList_tmp.add(j); } else { for (Integer k : ansList) { ansList_tmp.add(j * k); } } } ansList = ansList_tmp; } for (int i = 0; i < C; i++) { List ansList_tmp = new ArrayList(); for (int j : composite) { if (P == 0 && i == 0) { ansList_tmp.add(j); } else { for (Integer k : ansList) { ansList_tmp.add(j * k); } } } ansList = ansList_tmp; } long sum = 0; for (Integer integer : ansList) { sum += integer; } System.out.println(sum / (double) ansList.size()); } catch (Exception e) { System.err.println("Error:" + e.getMessage()); } } static int[] strToIntArray(String S) { String[] strArray = S.split(" "); int[] intArray = new int[strArray.length]; for (int i = 0; i < strArray.length; i++) { intArray[i] = Integer.parseInt(strArray[i]); } return intArray; } }