# USACO : Combination Lock

```
/*
PROG: combo
LANG: C++
*/

#include &lt;bits/stdc++.h&gt;

#define pii pair &lt;int,int&gt;
#define sc scanf
#define pf printf
#define Pi 2*acos(0.0)
#define ms(a,b) memset(a, b, sizeof(a))
#define pb(a) push_back(a)
#define MP make_pair
#define oo 1&lt;&lt;29
#define dd double
#define ll long long
#define EPS 10E-10
#define ff first
#define ss second
#define MAX 10000
#define CIN ios_base::sync_with_stdio(0); cin.tie(0)
#define SZ(a) (int)a.size()
#define getint(a) scanf(&quot;%d&quot;,&amp;a)
#define getint2(a,b) scanf(&quot;%d%d&quot;,&amp;a,&amp;b)
#define getint3(a,b,c) scanf(&quot;%d%d%d&quot;,&amp;a,&amp;b,&amp;c)
#define loop(i,n) for(int i=0;i&lt;n;i++)
#define TEST_CASE(t) for(int z=1;z&lt;=t;z++)
#define PRINT_CASE printf(&quot;Case %d: &quot;,z)
#define all(a) a.begin(),a.end()
#define intlim 2147483648
#define inf 1000000
#define rtintlim 46340
#define llim 9223372036854775808
#define rtllim 3037000499
#define ull unsigned long long
#define I int

using namespace std;
int n;
bool check1(int a, int b)
{
if(abs(a-b)&lt;=2) return 1;
if(abs(a-b)&gt;=n-2) return 1;
return 0;
}

bool check(int a1,int b1,int c1,int a2,int b2,int c2)
{
return (check1(a1,a2) &amp;&amp; check1(b1,b2) &amp;&amp; check1(c1,c2));
}
int main()
{
freopen(&quot;combo.in&quot;,&quot;r&quot;,stdin);
freopen(&quot;combo.out&quot;,&quot;w&quot;,stdout);
int a,b,c,x,y,z;
int cnt=0;
cin&gt;&gt;n;
cin&gt;&gt;a&gt;&gt;b&gt;&gt;c&gt;&gt;x&gt;&gt;y&gt;&gt;z;
for(int i=1;i&lt;=n;i++)
for(int j=1;j&lt;=n;j++)
for(int k=1;k&lt;=n;k++)
if(check(i,j,k,a,b,c)||check(i,j,k,x,y,z))
cnt++;
cout&lt;&lt;cnt&lt;&lt;endl;
return 0;
}

```