#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
void create(double *&x,int n){
x=new double[n]();
}
void enter(double *x,int n){
for(int i=0;i<n;++i){
cin>>x[i];
}
}
void print(double *x,int n){
for(int i=0;i<n;++i){
cout<<x[i]<<" ";
}
}
void add(double *x,double *y,double *z,int n){
for(int i=0;i<n;++i){
z[i]=x[i]+y[i];
}
}
void subtract(double *x,double *y,double *z,int n){
for(int i=0;i<n;++i){
z[i]=x[i]-y[i];
}
}
double length(double *x,int n){
double sum=0;
for(int i=0;i<n;++i){
sum+=x[i]*x[i];
}
return(sqrt(sum));
}
void normalize(double *x,double *z,int n){
double sum=0;
for(int i=0;i<n;++i){
sum+=x[i]*x[i];
}
double length=sqrt(sum);
if(length==0)return;
for(int i=0;i<n;++i){
z[i]=x[i]/length;
}
}
double dot(double *x,double *y,int n){
double sum=0;
for(int i=0;i<n;++i){
sum+=(x[i]*y[i]);
}
return(sum);
}
double mean(double *x,int n){
if(n==0)return 0;
double sum=0;
for(int i=0;i<n;++i){
sum+=x[i];
}
return(sum/n);
}
double distance(double *x,double *y,int n){
double sum=0;
for(int i=0;i<n;++i){
sum+=(x[i]-y[i])*(x[i]-y[i]);
}
return(sqrt(sum));
}
int main() {
double *x,*y,*z;
int n;
cin>>n;
create(x,n);
enter(x,n);
create(y,n);
enter(y,n);
create(z,n);
cout<<"a = ( ";
print(x,n);
cout<<")"<<endl;
cout<<"b = ( ";
print(y,n);
cout<<")"<<endl;
add(x,y,z,n);
cout<<"a + b = ( ";
print(z,n);
cout<<")"<<endl;
subtract(x,y,z,n);
cout<<"a - b = ( ";
print(z,n);
cout<<")"<<endl;
cout<<"|a| = "<<length(x,n)<<endl;
cout<<"a * b = "<<dot(x,y,n)<<endl;
cout<<"mean of a = "<<mean(x,n)<<endl;
cout<<"distance (a,b) = "<<distance(x,y,n)<<endl;
normalize(x,z,n);
cout<<fixed<<setprecision(2);
cout<<"normalized a = ( ";
print(z,n);
cout<<")"<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CiNpbmNsdWRlIDxpb21hbmlwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBjcmVhdGUoZG91YmxlIComeCxpbnQgbil7Cgl4PW5ldyBkb3VibGVbbl0oKTsKfQp2b2lkIGVudGVyKGRvdWJsZSAqeCxpbnQgbil7Cglmb3IoaW50IGk9MDtpPG47KytpKXsKCQljaW4+PnhbaV07Cgl9Cn0Kdm9pZCBwcmludChkb3VibGUgKngsaW50IG4pewoJZm9yKGludCBpPTA7aTxuOysraSl7CgkJY291dDw8eFtpXTw8IiAiOwoJfQp9CnZvaWQgYWRkKGRvdWJsZSAqeCxkb3VibGUgKnksZG91YmxlICp6LGludCBuKXsKCWZvcihpbnQgaT0wO2k8bjsrK2kpewoJCXpbaV09eFtpXSt5W2ldOwoJfQp9CnZvaWQgc3VidHJhY3QoZG91YmxlICp4LGRvdWJsZSAqeSxkb3VibGUgKnosaW50IG4pewoJZm9yKGludCBpPTA7aTxuOysraSl7CgkJeltpXT14W2ldLXlbaV07Cgl9Cn0KZG91YmxlIGxlbmd0aChkb3VibGUgKngsaW50IG4pewoJZG91YmxlIHN1bT0wOwoJZm9yKGludCBpPTA7aTxuOysraSl7CglzdW0rPXhbaV0qeFtpXTsKfQpyZXR1cm4oc3FydChzdW0pKTsKfQp2b2lkIG5vcm1hbGl6ZShkb3VibGUgKngsZG91YmxlICp6LGludCBuKXsKCWRvdWJsZSBzdW09MDsKCWZvcihpbnQgaT0wO2k8bjsrK2kpewoJc3VtKz14W2ldKnhbaV07Cn0KZG91YmxlIGxlbmd0aD1zcXJ0KHN1bSk7CmlmKGxlbmd0aD09MClyZXR1cm47Cglmb3IoaW50IGk9MDtpPG47KytpKXsKCQl6W2ldPXhbaV0vbGVuZ3RoOwoJfQp9CmRvdWJsZSBkb3QoZG91YmxlICp4LGRvdWJsZSAqeSxpbnQgbil7Cglkb3VibGUgc3VtPTA7Cglmb3IoaW50IGk9MDtpPG47KytpKXsKCQlzdW0rPSh4W2ldKnlbaV0pOwoJfQoJcmV0dXJuKHN1bSk7Cn0KZG91YmxlIG1lYW4oZG91YmxlICp4LGludCBuKXsKCWlmKG49PTApcmV0dXJuIDA7Cglkb3VibGUgc3VtPTA7Cglmb3IoaW50IGk9MDtpPG47KytpKXsKCQlzdW0rPXhbaV07Cgl9CglyZXR1cm4oc3VtL24pOwp9CmRvdWJsZSBkaXN0YW5jZShkb3VibGUgKngsZG91YmxlICp5LGludCBuKXsKCWRvdWJsZSBzdW09MDsKCWZvcihpbnQgaT0wO2k8bjsrK2kpewoJCXN1bSs9KHhbaV0teVtpXSkqKHhbaV0teVtpXSk7Cgl9CglyZXR1cm4oc3FydChzdW0pKTsKfQoKaW50IG1haW4oKSB7CmRvdWJsZSAqeCwqeSwqejsKaW50IG47CmNpbj4+bjsKY3JlYXRlKHgsbik7CmVudGVyKHgsbik7CmNyZWF0ZSh5LG4pOwplbnRlcih5LG4pOwpjcmVhdGUoeixuKTsKY291dDw8ImEgPSAoICI7CnByaW50KHgsbik7CmNvdXQ8PCIpIjw8ZW5kbDsKY291dDw8ImIgPSAoICI7CnByaW50KHksbik7CmNvdXQ8PCIpIjw8ZW5kbDsKYWRkKHgseSx6LG4pOwpjb3V0PDwiYSArIGIgPSAoICI7CnByaW50KHosbik7CmNvdXQ8PCIpIjw8ZW5kbDsKc3VidHJhY3QoeCx5LHosbik7CmNvdXQ8PCJhIC0gYiA9ICggIjsKcHJpbnQoeixuKTsKY291dDw8IikiPDxlbmRsOwpjb3V0PDwifGF8ID0gIjw8bGVuZ3RoKHgsbik8PGVuZGw7CmNvdXQ8PCJhICogYiA9ICI8PGRvdCh4LHksbik8PGVuZGw7CmNvdXQ8PCJtZWFuIG9mIGEgPSAiPDxtZWFuKHgsbik8PGVuZGw7CmNvdXQ8PCJkaXN0YW5jZSAoYSxiKSA9ICI8PGRpc3RhbmNlKHgseSxuKTw8ZW5kbDsKbm9ybWFsaXplKHgseixuKTsKY291dDw8Zml4ZWQ8PHNldHByZWNpc2lvbigyKTsKY291dDw8Im5vcm1hbGl6ZWQgYSA9ICggIjsKcHJpbnQoeixuKTsKY291dDw8IikiPDxlbmRsOwoJcmV0dXJuIDA7Cn0=