public function getTopCompanies(): Collection 	{ 		$companies = Company::byDomain($this->domain)->available()->whereHas('applicants', function ($query) { 			$query->available()->final(); 		})->withCount([ 			'applicantCompanyPivot as first_place_ranking_count' => function ($query) { 				$query->where('rank', 1); 			}, 			'applicantCompanyPivot as second_place_ranking_count' => function ($query) { 				$query->where('rank', 2); 			}, 			'applicantCompanyPivot as third_place_ranking_count' => function ($query) { 				$query->where('rank', 3); 			}, 		]) 		->orderByRaw('((first_place_ranking_count * 3) + (second_place_ranking_count * 2) + third_place_ranking_count) DESC') 		->limit(20) 		->get();  		return $companies; 	}