modified weakest to return strongest for howmany set to -1 or less