import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);       
		int n = sc.nextInt();
		int k = sc.nextInt();
        double ans = 0;
        for(int i=1;i<=n;i++){
          int count = n;
          int point = i;
          while(point<k){count*=2;point*=2;}
          double ans2 = 1.0/count;ans+=ans2;}        
	    System.out.println(ans);
  }
} import java.util.*; util.* java public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);       
		int n = sc.nextInt();
		int k = sc.nextInt();
        double ans = 0;
        for(int i=1;i<=n;i++){
          int count = n;
          int point = i;
          while(point<k){count*=2;point*=2;}
          double ans2 = 1.0/count;ans+=ans2;}        
	    System.out.println(ans);
  }
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);       
		int n = sc.nextInt();
		int k = sc.nextInt();
        double ans = 0;
        for(int i=1;i<=n;i++){
          int count = n;
          int point = i;
          while(point<k){count*=2;point*=2;}
          double ans2 = 1.0/count;ans+=ans2;}        
	    System.out.println(ans);
  } main {
		Scanner sc = new Scanner(System.in);       
		int n = sc.nextInt();
		int k = sc.nextInt();
        double ans = 0;
        for(int i=1;i<=n;i++){
          int count = n;
          int point = i;
          while(point<k){count*=2;point*=2;}
          double ans2 = 1.0/count;ans+=ans2;}        
	    System.out.println(ans);
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int k = sc.nextInt(); k sc.nextInt() sc.nextInt sc double ans = 0; ans 0 for(int i=1;i<=n;i++){
          int count = n;
          int point = i;
          while(point<k){count*=2;point*=2;}
          double ans2 = 1.0/count;ans+=ans2;} int i=1; int i=1; i 1 i<=n i n i++ i++ i {
          int count = n;
          int point = i;
          while(point<k){count*=2;point*=2;}
          double ans2 = 1.0/count;ans+=ans2;} {
          int count = n;
          int point = i;
          while(point<k){count*=2;point*=2;}
          double ans2 = 1.0/count;ans+=ans2;} int count = n; count n int point = i; point i while(point<k){count*=2;point*=2;} point<k point k {count*=2;point*=2;} count*=2 count 2 point*=2 point 2 double ans2 = 1.0/count; ans2 1.0/count 1.0 count ans+=ans2 ans ans2 System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);       
		int n = sc.nextInt();
		int k = sc.nextInt();
        double ans = 0;
        for(int i=1;i<=n;i++){
          int count = n;
          int point = i;
          while(point<k){count*=2;point*=2;}
          double ans2 = 1.0/count;ans+=ans2;}        
	    System.out.println(ans);
  }
} public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);       
		int n = sc.nextInt();
		int k = sc.nextInt();
        double ans = 0;
        for(int i=1;i<=n;i++){
          int count = n;
          int point = i;
          while(point<k){count*=2;point*=2;}
          double ans2 = 1.0/count;ans+=ans2;}        
	    System.out.println(ans);
  }
} Main
import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);       
		int n = sc.nextInt();
		int k = sc.nextInt();
        double ans = 0;
        for(int i=1;i<=n;i++){
          int count = n;
          int point = i;
          while(point<k){count*=2;point*=2;}
          double ans2 = 1.0/count;ans+=ans2;}        
	    System.out.println(ans);
  }
}