#!/usr/local/bin/perl

use utf8;

open(FILE1, "$ARGV[0]");

#open(FILE2, "$ARGV[1]");
$lflag = 1;
while ($line = <FILE1>){
    if($line =~ /\<article.*>/){
	
	if($lflag == 0){
	    $lflag = 1;
	}
	else{
	    $lflag = 0;
	}
	next;
    }
    if($line =~ /\<alignment(.*)=(.*)>/ ) {
	$tflag = 1;
	next;
    }
    if($line =~ /\<\/alignment>/){
	$tflag = 0;$outtext = 1;
	next;
    }
    if( $tflag == 1){
	$len += length ($line);
	next;
    }
    if($outtext == 1){
	if($lflag == 1){
	    @lenarray2 = (@lenarray2,$len);
	}
	else{
	    @lenarray1 = (@lenarray1,$len);
	}
	$outtext = 0;$len = 0;
    }
	
    
}
close(FILE1);

open(FILE1, "$ARGV[0]");

while($line = <FILE1>)
{
    if($line =~ /\<article.*>/){
	
	if($lflag == 0){
	    $lflag = 1;
	}
	else{
	    $lflag = 0;
	}
	next;
    }
    if($line =~ /\<alignment(.*)=(.*)>/ ) {
	
	$two = $2;
	#print $1," ",$2,"\n";
	@array = split(/\s+/,$two);
	$one = $1;
	$one =~ s/^\s+//;
	$sent = undef;

	foreach $val(@array){
	    if($lflag == 0){
		$val =~ s/^\s+//;
		#print $one," ",$val,"\n";
		$hash1{$one."@".$val} = $lenarray1[$one-1] * $lenarray2[$val-1];

	    }
	}
    }
}

    
close(FILE1);
@lenarray1 = @$lenarray2 = undef;
open(FILE1, "$ARGV[1]");

$lflag = 1;$tflag = 0;$outtext = 0;
while ($line = <FILE1>){
    if($line =~ /\<article.*>/){
	
	if($lflag == 0){
	    $lflag = 1;
	}
	else{
	    $lflag = 0;
	}
	next;
    }
    if($line =~ /\<alignment(.*)=(.*)>/ ) {
	$tflag = 1;
	next;
    }
    if($line =~ /\<\/alignment>/){
	$tflag = 0;$outtext = 1;
	next;
    }
    if( $tflag == 1){
	$len += length ($line);#print $line,"\n";
	next;
    }
    if($outtext == 1){
	if($lflag == 1){
	    @twolenarray2 = (@twolenarray2,$len);
	}
	else{
	    @twolenarray1 = (@twolenarray1,$len);
	}
	$outtext = 0;$len = 0;
    }
	
    
}
close(FILE1);

open(FILE1, "$ARGV[1]");

while($line = <FILE1>)
{
    if($line =~ /\<article.*>/){
	if($lflag == 0){
	    $lflag = 1;
	}
	else{
	    $lflag = 0;
	}
	next;
    }
    if($line =~ /\<alignment(.*)=(.*)>/ ) {
	
	$two = $2;
	#print $1," ",$2,"\n";
	@array = split(/\s+/,$two);
	$one = $1;
	$one =~ s/^\s+//;
	$sent = undef;

	foreach $val(@array){
	    if($lflag == 0){
		$val =~ s/^\s+//;$val =~ s/\s+$//;
		#print $one," ",$val," :  ",$twolenarray1[$one-1]," :  ", $twolenarray2[$val-1],"\n";  
		
		$hash2{$one."@".$val} = $twolenarray1[$one-1] * $twolenarray2[$val-1];
	    }
	}
    }
}

foreach $key (sort (keys  %hash2)){
    #print $key ," ", $hash1{$key}," ",$hash2{$key},"\n";
}


foreach $key(keys %hash1){
    if( exists ($hash2{$key})){
	$val1 += ($hash1{$key}+$hash2{$key})/2;
    } 
    else{
	$val2 += $hash1{$key};#print "Mistake\n";
    }
}


$eval1 = $val1/($val1+$val2);
$val1 = $val2 = 0;
foreach $key(keys %hash2){
    if( exists ($hash2{$key})){
	$val1 += ($hash1{$key}+$hash2{$key})/2;
    } 
    else{
	$val2 += $hash2{$key};#print "Mistake\n";
    }
}

$eval2 = $val1/($val1+$val2);



$eva = $eval1 + $eval2;
$eva /= 2;
print $eva;



