//55
#include<iostream>
#include<algorithm>

using namespace std;

int main(){
  for(int n,m;cin>>n>>m,n|m;){
    int c[16];
    for(int i=0;i<m;i++){
      cin>>c[i];
    }
    static int ls[20001][256];
    fill(ls[0],ls[20001],1<<30);
    ls[0][128]=0;
    for(int i=0;i<n;i++){
      int x;
      cin>>x;
      for(int j=0;j<256;j++){
	for(int k=0;k<m;k++){
	  int n=min(255,max(0,j+c[k]));
	  ls[i+1][n]=min(ls[i+1][n],ls[i][j]+(x-n)*(x-n));
	}
      }
    }
    cout<<*min_element(ls[n],ls[n+1])<<endl;
  }
  return 0;
}