#include using namespace std; int k; long long memo[ 10004 ]; long long C[ 10004 ]; long long dp( int pos ){ if ( k >= pos ) return C[ pos ]; if ( memo[ pos ] != -1 ) return memo[ pos ]; long long &ans = memo[ pos ] = 1000000000000000000LL; for ( int i = max( pos - 2*k - 1 , 0) ; i < pos; i++ ){ ans = min( ans , C[ pos ] + dp( i ) ); } return ans; } int main(){ int n; cin>>n>>k; for ( int i= 0 ; i >C[ i ]; long long ans = LLONG_MAX; memset( memo , -1 , sizeof( memo ) ); for ( int i = max( n - k - 1 , 0) ; i < n ; i++ ){ ans = min( ans , dp( i ) ); } cout<