#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

ll dp[20001][256];

int main(){

  ll n,m,c[16],x[20000];

  while(cin>>n>>m,n){

    for(ll i=0;i<m;i++)cin>>c[i];
  
    for(ll i=0;i<n;i++)cin>>x[i];
  
    for(ll i=0;i<20001;i++)
      for(ll j=0;j<256;j++)dp[i][j]=1e15;

    dp[0][128]=0;

    for(ll i=0;i<n;i++)
      for(ll j=0;j<256;j++)
	for(ll k=0;k<m;k++){
	  ll y=min(255LL,max(0LL,j+c[k]));
	  dp[i+1][y]=min(dp[i][j]+(y-x[i])*(y-x[i]),dp[i+1][y]);
	}
  
    ll ans=1e15;
    for(ll i=0;i<256;i++)ans=min(ans,dp[n][i]);

    cout<<ans<<endl;
  
  }
  return 0;
}