Let n, s, k be three positive integers such that 1 <= s <= (n - k + 1)/k and let [n] = {1, . . . , n}. Let H be a k-graph with vertex set [n], and let e(H) denote the number of edges of H. Let v(H) and tau(H) denote the size of the largest matching and the size of a minimum vertex cover in H, respectively. Define A(i)(k)(n, s) := {e is an element of([n] k) : | e boolean AND [(s + 1)i - 1]| >= i} for 2 <= i <= k and HMn,sk := {e is an element of([n] k) : | e boolean AND [s - 1] not equal circle divide} boolean OR {S} boolean OR {e is an element of([n] k) : s is an element of e, e boolean AND S not equal circle divide}, where S = {s + 1, . . . , s + k}. Frankl and Kupavskii proposed a conjecture that if v(H) <= s and tau(H) > s, then e(H) <= max{|A(2)(k) (n, s)|, . . . , |A(k)(k) (n, s)|, |HMn,sk|}. In this paper, we prove this conjecture for k = 3 and sufficiently large n.