
import java.lang.Math;
import java.util.Collections;
import java.util. ArrayList;
import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<Long> a = new ArrayList<>();
        while(sc.hasNext()== true ){
            a.add(sc.nextLong());
        }
        long sumo = 0;
        for (int i =0; i<a.size(); i++){
            sumo += a.get(i);
        }
        long n = a.get(0);
        long m = a.get(1);
        String ans = null;
        sumo = sumo - (n + m);
        int cnt = 0;
        //sumoがaの総和になった
        //ここから最大値をm個とる
        for (long i=0; i < m; i++){
            long b = Collections.max(a);
            if (b*4*m >= sumo){
                cnt +=1;
                a.remove(a.indexOf(b));
            }else{
                a.remove(a.indexOf(b));
            }
        }
        if (cnt >= m){
            ans = "Yes";
        }else{
            ans ="No";
        }
        System.out.println(ans);
    }
} import java.lang.Math; Math java.lang import java.util.Collections; Collections java.util import java.util. ArrayList; ArrayList java.util import java.util.Scanner; Scanner java.util class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<Long> a = new ArrayList<>();
        while(sc.hasNext()== true ){
            a.add(sc.nextLong());
        }
        long sumo = 0;
        for (int i =0; i<a.size(); i++){
            sumo += a.get(i);
        }
        long n = a.get(0);
        long m = a.get(1);
        String ans = null;
        sumo = sumo - (n + m);
        int cnt = 0;
        //sumoがaの総和になった
        //ここから最大値をm個とる
        for (long i=0; i < m; i++){
            long b = Collections.max(a);
            if (b*4*m >= sumo){
                cnt +=1;
                a.remove(a.indexOf(b));
            }else{
                a.remove(a.indexOf(b));
            }
        }
        if (cnt >= m){
            ans = "Yes";
        }else{
            ans ="No";
        }
        System.out.println(ans);
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<Long> a = new ArrayList<>();
        while(sc.hasNext()== true ){
            a.add(sc.nextLong());
        }
        long sumo = 0;
        for (int i =0; i<a.size(); i++){
            sumo += a.get(i);
        }
        long n = a.get(0);
        long m = a.get(1);
        String ans = null;
        sumo = sumo - (n + m);
        int cnt = 0;
        //sumoがaの総和になった
        //ここから最大値をm個とる
        for (long i=0; i < m; i++){
            long b = Collections.max(a);
            if (b*4*m >= sumo){
                cnt +=1;
                a.remove(a.indexOf(b));
            }else{
                a.remove(a.indexOf(b));
            }
        }
        if (cnt >= m){
            ans = "Yes";
        }else{
            ans ="No";
        }
        System.out.println(ans);
    } main {
        Scanner sc = new Scanner(System.in);
        ArrayList<Long> a = new ArrayList<>();
        while(sc.hasNext()== true ){
            a.add(sc.nextLong());
        }
        long sumo = 0;
        for (int i =0; i<a.size(); i++){
            sumo += a.get(i);
        }
        long n = a.get(0);
        long m = a.get(1);
        String ans = null;
        sumo = sumo - (n + m);
        int cnt = 0;
        //sumoがaの総和になった
        //ここから最大値をm個とる
        for (long i=0; i < m; i++){
            long b = Collections.max(a);
            if (b*4*m >= sumo){
                cnt +=1;
                a.remove(a.indexOf(b));
            }else{
                a.remove(a.indexOf(b));
            }
        }
        if (cnt >= m){
            ans = "Yes";
        }else{
            ans ="No";
        }
        System.out.println(ans);
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) ArrayList<Long> a = new ArrayList<>(); a new ArrayList<>() while(sc.hasNext()== true ){
            a.add(sc.nextLong());
        } sc.hasNext()== true sc.hasNext() sc.hasNext sc true {
            a.add(sc.nextLong());
        } a.add(sc.nextLong()) a.add a sc.nextLong() sc.nextLong sc long sumo = 0; sumo 0 for (int i =0; i<a.size(); i++){
            sumo += a.get(i);
        } int i =0; int i =0; i 0 i<a.size() i a.size() a.size a i++ i++ i {
            sumo += a.get(i);
        } {
            sumo += a.get(i);
        } sumo += a.get(i) sumo a.get(i) a.get a i long n = a.get(0); n a.get(0) a.get a 0 long m = a.get(1); m a.get(1) a.get a 1 String ans = null; ans null sumo = sumo - (n + m) sumo sumo - (n + m) sumo (n + m) n m int cnt = 0; cnt 0 for (long i=0; i < m; i++){
            long b = Collections.max(a);
            if (b*4*m >= sumo){
                cnt +=1;
                a.remove(a.indexOf(b));
            }else{
                a.remove(a.indexOf(b));
            }
        } long i=0; long i=0; i 0 i < m i m i++ i++ i {
            long b = Collections.max(a);
            if (b*4*m >= sumo){
                cnt +=1;
                a.remove(a.indexOf(b));
            }else{
                a.remove(a.indexOf(b));
            }
        } {
            long b = Collections.max(a);
            if (b*4*m >= sumo){
                cnt +=1;
                a.remove(a.indexOf(b));
            }else{
                a.remove(a.indexOf(b));
            }
        } long b = Collections.max(a); b Collections.max(a) Collections.max Collections a if (b*4*m >= sumo){
                cnt +=1;
                a.remove(a.indexOf(b));
            }else{
                a.remove(a.indexOf(b));
            } b*4*m >= sumo b*4*m b*4*m b 4 m sumo {
                cnt +=1;
                a.remove(a.indexOf(b));
            } cnt +=1 cnt 1 a.remove(a.indexOf(b)) a.remove a a.indexOf(b) a.indexOf a b {
                a.remove(a.indexOf(b));
            } a.remove(a.indexOf(b)) a.remove a a.indexOf(b) a.indexOf a b if (cnt >= m){
            ans = "Yes";
        }else{
            ans ="No";
        } cnt >= m cnt m {
            ans = "Yes";
        } ans = "Yes" ans "Yes" {
            ans ="No";
        } ans ="No" ans "No" System.out.println(ans) System.out.println System.out System System.out ans String[] args args

import java.lang.Math;
import java.util.Collections;
import java.util. ArrayList;
import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        ArrayList<Long> a = new ArrayList<>();
        while(sc.hasNext()== true ){
            a.add(sc.nextLong());
        }
        long sumo = 0;
        for (int i =0; i<a.size(); i++){
            sumo += a.get(i);
        }
        long n = a.get(0);
        long m = a.get(1);
        String ans = null;
        sumo = sumo - (n + m);
        int cnt = 0;
        //sumoがaの総和になった
        //ここから最大値をm個とる
        for (long i=0; i < m; i++){
            long b = Collections.max(a);
            if (b*4*m >= sumo){
                cnt +=1;
                a.remove(a.indexOf(b));
            }else{
                a.remove(a.indexOf(b));
            }
        }
        if (cnt >= m){
            ans = "Yes";
        }else{
            ans ="No";
        }
        System.out.println(ans);
    }
}
