import java.lang.*;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.Scanner;
public class main{
public static int[] getVector(String input){
//cria o vetor de strings lendo a string
String[] inputVec = input.replace("[", "").replace("]", "").replace("'", "").split(",");
int[] r = new int[inputVec.length]; //vetor que vai guardar os numeros inseridos
int index = 0;
for(String a : inputVec)
r[index++] = Integer.parseInt(a);
return r;
}
public static void main(String[] args) throws IOException{
Scanner leia = new Scanner(System.in);
String vetorP = leia.next();
String vetorQ = leia.next();
int P[] = getVector(vetorP);
int Q[] = getVector(vetorQ);
double internal = 0;
double tomorrow = 0;
double internal1 = 0;
//Faz o somatorio subtraindo cada Pn por Qn e elevando o resultado ao quadrado
for(int n = 0; n < P.length; ++n){
internal += Math.pow(P[n]-Q[n], 2);
}
System.out.printf("%.4f\n",Math.sqrt(internal));
for(int n = 0; n < P.length; ++n){
internal += Math.pow(P[n], 2);
tomorrow += Math.pow(Q[n], 2);
}
internal1 += Math.sqrt(internal);
tomorrow += Math.sqrt(tomorrow);
double produto = 0;
for(int n = 0; n < P.length; ++n){
produto = (P[n] * Q[n]);
}
DecimalFormat molde;
molde = new DecimalFormat("0.00");
double similaridade = 0;
similaridade = produto / (internal1 * tomorrow);
System.out.println(molde.format(similaridade));
}
}