sub lcs {
	my $refmatrix=shift;
	my $refxlst=shift;
	my $refylst=shift;
	my $m=scalar @$refxlst-1;
	my $n=scalar @$refylst-1;
	foreach my $i (1 .. $m) {
		foreach my $j (1 .. $n) {
			if ($refxlst->[$i] eq $refylst->[$j]) {
				$refmatrix->[$i]->[$j] = $refmatrix->[$i-1]->[$j-1]+1;
			} elsif ($refmatrix->[$i-1]->[$j] >= $refmatrix->[$i]->[$j-1]) {
				$refmatrix->[$i]->[$j] = $refmatrix->[$i-1]->[$j];
			}
			else {	
				$refmatrix->[$i]->[$j] = $refmatrix->[$i]->[$j-1];
			}
		}
	}
	return $refmatrix;
}	
