#include <algorithm>
#include<iostream>
#include<vector>
#include<deque>
#include<queue>
#include<list>
#include<stack>
#include<map>
#include<set>
#include<string>
#include <sstream>
#include<bitset>

#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<limits.h>

using namespace std;


int main(){
  long ii,jj,kk;
  vector<int> a;
  int n,k,cnt,sum;
  bitset<32> m;
  cin >> n >> k;

  for(ii=0;ii<pow(2,n);ii++){
    m = ii;
    cnt = 0;
    sum = 0;
    for(jj=0;jj<n;jj++){
      if(m.test(jj)){
        cnt++;
        sum += pow(2,jj);
      }
    }

    if(cnt == k){
      cout << sum << ":";
      for(jj=0;jj<n;jj++){
        if(m.test(jj)){
          cout << " " << jj;
        }
      }
      cout << endl;
    }
  }
  
  return 0;
}

