#include<iostream>
#include<algorithm>
#define INF 1145141919
using namespace std;
int n,m;
int dp[2][256],c[16];
int main(){
	while(cin>>n>>m&&n+m){
	for(int i=0;i<m;i++)cin>>c[i];
	for(int i=0;i<256;i++)dp[0][i]=INF,dp[1][i]=INF;
	dp[0][128]=0;
	for(int i=0;i<n;i++){
		int x;cin>>x;bool t=i%2;
		for(int j=0;j<256;j++){
			for(int k=0;k<m;k++){
				int y=j+c[k];if(y<0)y=0;if(y>255)y=255;
				int z=(x-y)*(x-y)+dp[t][j];
				dp[1-t][y]=min(dp[1-t][y],z);
			}
		}
		for(int j=0;j<256;j++)dp[t][j]=INF;
	}
	int ans=INF;
	for(int i=0;i<256;i++){
		ans=min(ans,dp[n%2][i]);
	}
	cout<<ans<<endl;
	}
	return 0;
}