You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: quorum.go
    path of file: ./repos/wormhole/sdk/vaa
    
    the code of the file until where you have to start completion: package vaa

// CalculateQuorum returns the minimum number of guardians that need to sign a VAA for a given guardian set.
//
// The canonical source is the calculation in the contracts (sol
    
func CalculateQuorum(numGuardians int) int {
	// A safety check to avoid caller from ever supplying a negative
	// number, because we're dealing with signed integers
	if numGuardians < 0 {
		panic("Invalid numGuardians is less than zero")
	}

	// The goal here is to achieve a 2/3 quorum, but since we're
	// dividing on int, we need to +1 to avoid the rounding down
	// effect of integer division
	//
	// For example sake, 5 / 2 == 2, but really that's not an
	//   effective 2/3 quorum, so we add 1 for safety to get to 3
	//
	return ((numGuardians * 2) / 3) + 1
}