#include <iostream>
using namespace std;
int n,ans=1e8;
void dfs(int x,int k){//x为当前数目,k为袋数
if(x>n)return ;//超出直接停止
if(x==n){
ans=min(ans,k);//满足条件更新ans
return ;
}
x=x+6;//选6个的
dfs(x,k+1);
x=x-6;//回溯
x=x+8;//选8个的
dfs(x,k+1);
return ;//可停可不停
}
int main() {
cin>>n;
dfs(0,0);//0,0开始搜
if(ans!=1e8)//ans更新过则输出ans
cout<<ans;
else cout<<-1;
}



京公网安备 11010502036488号