#!/usr/bin/env perl use strict; use warnings; use bigint; sub sieve { my $n = shift; my @is_prime; push @is_prime, 1 for (0..$n); my @ret; $is_prime[0] = $is_prime[1] = 0; for my $i (2..$n) { if ($is_prime[$i]) { push @ret, $i; for (my $j = 2*$i; $j <= $n; $j += $i) { $is_prime[$j] = 0; } } } @ret; } my ($n, $l) = split / /, <>; my @primes = sieve(int($l/($n-1))); my $m = 0; for (my $i = 0; $i < scalar @primes; $i++) { my $cand = $l - $primes[$i] * ($n - 1) + 1; $m += $cand if $cand > 0; } print $m;