import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		int[] X = new int[N];
		int min =0;
		int answer = Integer.MAX_VALUE;
      
		for(int i=0; i<N; i++) {
			X[i] = sc.nextInt();
		}
      	//来るたびにminを初期化する
      	//制約以内で繰り返す
		for(int j=1;  j<=100; j++) {
			min = 0;
          //体力消費(Xi-P)の2乗を計算しminに加算
			for(int i=0; i<N; i++) {
			min += (X[i]-j)*(X[i]-j);
			}
          //answerにminとMAX_VALUEを比べ最小値を入れる
			answer = Math.min(min,answer);
		}
		System.out.println(answer);
	}		
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		int[] X = new int[N];
		int min =0;
		int answer = Integer.MAX_VALUE;
      
		for(int i=0; i<N; i++) {
			X[i] = sc.nextInt();
		}
      	//来るたびにminを初期化する
      	//制約以内で繰り返す
		for(int j=1;  j<=100; j++) {
			min = 0;
          //体力消費(Xi-P)の2乗を計算しminに加算
			for(int i=0; i<N; i++) {
			min += (X[i]-j)*(X[i]-j);
			}
          //answerにminとMAX_VALUEを比べ最小値を入れる
			answer = Math.min(min,answer);
		}
		System.out.println(answer);
	}		
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		int[] X = new int[N];
		int min =0;
		int answer = Integer.MAX_VALUE;
      
		for(int i=0; i<N; i++) {
			X[i] = sc.nextInt();
		}
      	//来るたびにminを初期化する
      	//制約以内で繰り返す
		for(int j=1;  j<=100; j++) {
			min = 0;
          //体力消費(Xi-P)の2乗を計算しminに加算
			for(int i=0; i<N; i++) {
			min += (X[i]-j)*(X[i]-j);
			}
          //answerにminとMAX_VALUEを比べ最小値を入れる
			answer = Math.min(min,answer);
		}
		System.out.println(answer);
	} main {
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		int[] X = new int[N];
		int min =0;
		int answer = Integer.MAX_VALUE;
      
		for(int i=0; i<N; i++) {
			X[i] = sc.nextInt();
		}
      	//来るたびにminを初期化する
      	//制約以内で繰り返す
		for(int j=1;  j<=100; j++) {
			min = 0;
          //体力消費(Xi-P)の2乗を計算しminに加算
			for(int i=0; i<N; i++) {
			min += (X[i]-j)*(X[i]-j);
			}
          //answerにminとMAX_VALUEを比べ最小値を入れる
			answer = Math.min(min,answer);
		}
		System.out.println(answer);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int[] X = new int[N]; X new int[N] N int min =0; min 0 int answer = Integer.MAX_VALUE; answer Integer.MAX_VALUE Integer Integer.MAX_VALUE for(int i=0; i<N; i++) {
			X[i] = sc.nextInt();
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			X[i] = sc.nextInt();
		} {
			X[i] = sc.nextInt();
		} X[i] = sc.nextInt() X[i] X i sc.nextInt() sc.nextInt sc for(int j=1;  j<=100; j++) {
			min = 0;
          //体力消費(Xi-P)の2乗を計算しminに加算
			for(int i=0; i<N; i++) {
			min += (X[i]-j)*(X[i]-j);
			}
          //answerにminとMAX_VALUEを比べ最小値を入れる
			answer = Math.min(min,answer);
		} int j=1; int j=1; j 1 j<=100 j 100 j++ j++ j {
			min = 0;
          //体力消費(Xi-P)の2乗を計算しminに加算
			for(int i=0; i<N; i++) {
			min += (X[i]-j)*(X[i]-j);
			}
          //answerにminとMAX_VALUEを比べ最小値を入れる
			answer = Math.min(min,answer);
		} {
			min = 0;
          //体力消費(Xi-P)の2乗を計算しminに加算
			for(int i=0; i<N; i++) {
			min += (X[i]-j)*(X[i]-j);
			}
          //answerにminとMAX_VALUEを比べ最小値を入れる
			answer = Math.min(min,answer);
		} min = 0 min 0 for(int i=0; i<N; i++) {
			min += (X[i]-j)*(X[i]-j);
			} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			min += (X[i]-j)*(X[i]-j);
			} {
			min += (X[i]-j)*(X[i]-j);
			} min += (X[i]-j)*(X[i]-j) min (X[i]-j)*(X[i]-j) (X[i]-j) X[i] X i j (X[i]-j) X[i] X i j answer = Math.min(min,answer) answer Math.min(min,answer) Math.min Math min answer System.out.println(answer) System.out.println System.out System System.out answer String[] args args public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		int[] X = new int[N];
		int min =0;
		int answer = Integer.MAX_VALUE;
      
		for(int i=0; i<N; i++) {
			X[i] = sc.nextInt();
		}
      	//来るたびにminを初期化する
      	//制約以内で繰り返す
		for(int j=1;  j<=100; j++) {
			min = 0;
          //体力消費(Xi-P)の2乗を計算しminに加算
			for(int i=0; i<N; i++) {
			min += (X[i]-j)*(X[i]-j);
			}
          //answerにminとMAX_VALUEを比べ最小値を入れる
			answer = Math.min(min,answer);
		}
		System.out.println(answer);
	}		
} public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		int[] X = new int[N];
		int min =0;
		int answer = Integer.MAX_VALUE;
      
		for(int i=0; i<N; i++) {
			X[i] = sc.nextInt();
		}
      	//来るたびにminを初期化する
      	//制約以内で繰り返す
		for(int j=1;  j<=100; j++) {
			min = 0;
          //体力消費(Xi-P)の2乗を計算しminに加算
			for(int i=0; i<N; i++) {
			min += (X[i]-j)*(X[i]-j);
			}
          //answerにminとMAX_VALUEを比べ最小値を入れる
			answer = Math.min(min,answer);
		}
		System.out.println(answer);
	}		
} Main
import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		int[] X = new int[N];
		int min =0;
		int answer = Integer.MAX_VALUE;
      
		for(int i=0; i<N; i++) {
			X[i] = sc.nextInt();
		}
      	//来るたびにminを初期化する
      	//制約以内で繰り返す
		for(int j=1;  j<=100; j++) {
			min = 0;
          //体力消費(Xi-P)の2乗を計算しminに加算
			for(int i=0; i<N; i++) {
			min += (X[i]-j)*(X[i]-j);
			}
          //answerにminとMAX_VALUEを比べ最小値を入れる
			answer = Math.min(min,answer);
		}
		System.out.println(answer);
	}		
}