use strict; use warnings; sub factor { my $n = shift; my $m = 2; my %h; while ($n > 1) { while ($n % $m == 0) { $h{$m}++; $n /= $m; } $m++; } return \%h; } sub main { my ($x, $a, $y, $b) = split / /, <>; my %h1 = %{factor($x)}; my %h2 = %{factor($y)}; foreach my $k (keys %h2) { return "No" unless (exists $h1{$k} and $h1{$k}*$a >= $h2{$k}*$b); } return "Yes"; } print main, "\n";