Mud Weight Calculation Ppg

Mud Weight Calculation PPG: Your Essential PPG Calculator :root { –primary-color: #004a99; –success-color: #28a745; –background-color: #f8f9fa; –text-color: #333; –border-color: #ddd; –input-bg: #fff; –shadow-color: rgba(0, 0, 0, 0.1); } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: var(–background-color); color: var(–text-color); line-height: 1.6; margin: 0; padding: 20px; display: flex; justify-content: center; flex-direction: column; align-items: center; } .container { max-width: 960px; width: 100%; background-color: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px var(–shadow-color); margin-bottom: 40px; } h1, h2, h3 { color: var(–primary-color); text-align: center; margin-bottom: 20px; } h1 { font-size: 2.2em; } h2 { font-size: 1.8em; border-bottom: 2px solid var(–primary-color); padding-bottom: 10px; margin-top: 30px; } h3 { font-size: 1.4em; margin-top: 25px; margin-bottom: 15px; } .loan-calc-container { background-color: var(–background-color); padding: 25px; border-radius: 8px; margin-top: 20px; border: 1px solid var(–border-color); } .input-group { margin-bottom: 20px; text-align: left; } .input-group label { display: block; margin-bottom: 8px; font-weight: bold; color: var(–primary-color); } .input-group input[type="number"], .input-group input[type="text"], .input-group select { width: calc(100% – 24px); /* Account for padding and border */ padding: 12px; border: 1px solid var(–border-color); border-radius: 5px; font-size: 1em; box-sizing: border-box; background-color: var(–input-bg); color: var(–text-color); } .input-group input[type="number"]:focus, .input-group input[type="text"]:focus, .input-group select:focus { outline: none; border-color: var(–primary-color); box-shadow: 0 0 0 2px rgba(0, 74, 153, 0.2); } .input-group .helper-text { font-size: 0.85em; color: #6c757d; margin-top: 5px; display: block; } .error-message { color: #dc3545; font-size: 0.9em; margin-top: 8px; display: none; /* Hidden by default */ } .error-message.visible { display: block; } .button-group { margin-top: 25px; text-align: center; } .button-group button { padding: 12px 25px; margin: 0 10px; border: none; border-radius: 5px; cursor: pointer; font-size: 1em; transition: background-color 0.3s ease; font-weight: bold; } .calculate-button { background-color: var(–primary-color); color: #fff; } .calculate-button:hover { background-color: #003366; } .reset-button, .copy-button { background-color: #6c757d; color: #fff; } .reset-button:hover, .copy-button:hover { background-color: #5a6268; } #results { margin-top: 30px; padding: 25px; border-radius: 8px; background-color: #e9ecef; border: 1px solid var(–border-color); } #results h3 { text-align: left; margin-top: 0; margin-bottom: 15px; color: var(–text-color); } .result-item { margin-bottom: 15px; font-size: 1.1em; display: flex; justify-content: space-between; align-items: center; } .result-item-label { font-weight: bold; } .result-value { font-weight: bold; color: var(–primary-color); } #primary-result { font-size: 1.8em; color: #fff; background-color: var(–success-color); padding: 15px 20px; border-radius: 5px; margin-bottom: 20px; text-align: center; box-shadow: 0 2px 10px rgba(40, 167, 69, 0.4); } .formula-explanation { font-size: 0.95em; color: #555; margin-top: 20px; padding-top: 15px; border-top: 1px dashed var(–border-color); } table { width: 100%; border-collapse: collapse; margin-top: 25px; margin-bottom: 30px; box-shadow: 0 2px 8px var(–shadow-color); } th, td { padding: 12px 15px; text-align: left; border: 1px solid var(–border-color); } thead { background-color: var(–primary-color); color: #fff; } tbody tr:nth-child(even) { background-color: #f2f2f2; } caption { caption-side: bottom; font-style: italic; font-size: 0.9em; color: #6c757d; margin-top: 10px; text-align: center; } canvas { display: block; margin: 20px auto; max-width: 100%; border: 1px solid var(–border-color); border-radius: 5px; } .article-content { margin-top: 40px; background-color: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 15px var(–shadow-color); } .article-content p { margin-bottom: 15px; } .article-content a { color: var(–primary-color); text-decoration: none; } .article-content a:hover { text-decoration: underline; } .internal-links-list { list-style: none; padding: 0; margin-top: 20px; } .internal-links-list li { margin-bottom: 12px; } .internal-links-list a { font-weight: bold; } .faq-item { margin-bottom: 15px; padding: 10px; border-left: 3px solid var(–primary-color); background-color: #fdfdfd; border-radius: 3px; } .faq-item strong { color: var(–primary-color); } .summary { text-align: center; font-size: 1.1em; color: #555; margin-top: 20px; margin-bottom: 30px; } .tooltip { position: relative; display: inline-block; cursor: help; border-bottom: 1px dotted #004a99; } .tooltip .tooltiptext { visibility: hidden; width: 220px; background-color: #555; color: #fff; text-align: center; border-radius: 6px; padding: 5px 0; position: absolute; z-index: 1; bottom: 125%; left: 50%; margin-left: -110px; opacity: 0; transition: opacity 0.3s; font-size: 0.85em; line-height: 1.3; } .tooltip .tooltiptext::after { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: #555 transparent transparent transparent; } .tooltip:hover .tooltiptext { visibility: visible; opacity: 1; }

Mud Weight Calculation PPG

Calculate the density of drilling mud in Pounds Per Gallon (PPG) with this essential tool. Understand your mud weight for optimal drilling operations and wellbore stability. This calculator helps you determine the required mud weight based on hydrostatic pressure and depth, crucial for effective drilling fluid management.

Mud Weight Calculator (PPG)

Enter the desired hydrostatic pressure in PSI (Pounds per Square Inch).
Enter the total length of the wellbore in feet.

Calculation Results

Mud Weight (PPG):
Target Hydrostatic Pressure:
Measured Depth (MD):
Calculated Mud Weight:

Formula Used: Mud Weight (PPG) = (Hydrostatic Pressure (PSI) / Measured Depth (FT)) * 19.23 The factor 19.23 is a conversion constant to yield results in PPG.

Mud Weight vs. Depth and Pressure
Parameter Value Unit
Target Hydrostatic Pressure PSI
Measured Depth (MD) FT
Calculated Mud Weight (PPG) PPG
Key inputs and outputs for Mud Weight Calculation PPG.

What is Mud Weight Calculation PPG?

Mud weight calculation PPG refers to the process of determining the density of drilling fluid, commonly known as drilling mud, in units of pounds per gallon (PPG). This calculation is fundamental in the oil and gas exploration and production industry. Drilling mud is a complex mixture of liquids, solids, and additives that plays several critical roles during the drilling process. Its weight, or density, is perhaps its most vital property, directly influencing wellbore pressure control, cuttings removal, and overall drilling efficiency. Understanding and accurately calculating mud weight in PPG is crucial for preventing well control incidents, optimizing drilling performance, and ensuring the geological integrity of the wellbore.

Who Should Use It: This calculation is primarily used by drilling engineers, mud engineers, directional drillers, well control specialists, and geologists involved in drilling operations. Field personnel, such as roughnecks and toolpushers, also rely on accurate mud weight readings and understanding. Anyone responsible for the formulation, maintenance, or application of drilling fluids will find mud weight calculation PPG an indispensable part of their daily work.

Common Misconceptions: A common misconception is that drilling mud is simply "heavy water." In reality, drilling muds are engineered fluids with specific rheological properties and densities tailored to the geological formations being drilled. Another misconception is that simply increasing mud weight will always solve drilling problems; while crucial for pressure control, excessively high mud weights can lead to lost circulation, formation damage, and increased drilling costs. The calculation of mud weight in PPG is not just about hitting a target number but understanding the implications of that weight on the entire drilling system.

Mud Weight Calculation PPG Formula and Mathematical Explanation

The core of mud weight calculation PPG is derived from the principles of hydrostatics. Hydrostatic pressure is the pressure exerted by a fluid column due to gravity. The formula directly relates the desired pressure at the bottom of a wellbore (hydrostatic pressure) to the length of the fluid column (measured depth) and the fluid's density (mud weight).

The fundamental hydrostatic pressure formula is: $P_{hydrostatic} = \rho \times g \times h$ Where:

  • $P_{hydrostatic}$ is the hydrostatic pressure
  • $\rho$ (rho) is the fluid density
  • $g$ is the acceleration due to gravity
  • $h$ is the height or depth of the fluid column

To derive the mud weight calculation PPG, we rearrange this formula and incorporate the necessary unit conversions for the oilfield context (PSI for pressure, feet for depth, and PPG for density).

The formula used in our calculator is: Mud Weight (PPG) = (Hydrostatic Pressure (PSI) / Measured Depth (FT)) * 19.23

Variable Explanations:

  • Hydrostatic Pressure (PSI): This is the target pressure that the mud column needs to exert at the bottom of the wellbore to counteract formation pressures and maintain wellbore stability. It is measured in Pounds per Square Inch (PSI).
  • Measured Depth (MD) (FT): This is the actual length of the wellbore from the surface to the deepest point, measured along the path of the well. It is typically measured in feet (FT).
  • 19.23: This is a crucial conversion constant. It is derived from the density of water (approximately 8.33 PPG) and the conversion of feet to inches. Specifically, it accounts for the density of water in pounds per gallon and the pressure exerted by a one-foot column of water. $1 \text{ ft water column} \approx 0.52 \text{ PSI/ft}$. To get PPG, we use the relationship: $PPG = \frac{PSI}{depth} \times \frac{1}{0.052}$. Therefore, $1 / 0.052 \approx 19.23$.

Variables Table for Mud Weight Calculation PPG

Variable Meaning Unit Typical Range
Hydrostatic Pressure Target pressure at the bottom of the wellbore. PSI 1,000 – 20,000+ PSI
Measured Depth (MD) Total length of the wellbore. FT 1,000 – 30,000+ FT
Mud Weight (PPG) Density of the drilling fluid. PPG 8.34 – 20+ PPG

Practical Examples (Real-World Use Cases)

Example 1: Standard Drilling Operation

A drilling crew is working on a well and has reached a measured depth of 12,000 feet. They need to maintain a hydrostatic pressure of 8,000 PSI at this depth to prevent formation fluids from entering the wellbore.

Inputs:
  • Target Hydrostatic Pressure: 8,000 PSI
  • Measured Depth (MD): 12,000 FT
Calculation:

Mud Weight (PPG) = (8,000 PSI / 12,000 FT) * 19.23 Mud Weight (PPG) = 0.6667 * 19.23 Mud Weight (PPG) ≈ 12.82 PPG

Result Interpretation:

The drilling mud needs to have a density of approximately 12.82 PPG. The mud engineer will adjust the mud mixture by adding denser solids (like Barite) or changing fluid composition to achieve this target weight for safe and efficient drilling at this depth and pressure regime.

Example 2: Deeper Exploration Well

An exploratory well is being drilled, and the target depth is 18,500 feet. The geological prognosis suggests that a bottom hole pressure of 13,500 PSI is required to safely manage expected formation pressures.

Inputs:
  • Target Hydrostatic Pressure: 13,500 PSI
  • Measured Depth (MD): 18,500 FT
Calculation:

Mud Weight (PPG) = (13,500 PSI / 18,500 FT) * 19.23 Mud Weight (PPG) = 0.7297 * 19.23 Mud Weight (PPG) ≈ 14.03 PPG

Result Interpretation:

For this deeper section, the required mud weight is approximately 14.03 PPG. This higher mud weight indicates a need for a denser fluid, which might require more significant additions of weighting materials. Monitoring the actual mud weight and its effects on drilling parameters becomes crucial.

How to Use This Mud Weight Calculation PPG Calculator

Using our Mud Weight Calculation PPG calculator is straightforward. Follow these simple steps to get accurate results for your drilling operations:

  1. Input Target Hydrostatic Pressure: Enter the desired hydrostatic pressure in PSI that you need to achieve at the bottom of the wellbore. This value is critical for well control and is often determined by geologists and drilling engineers based on formation pressures.
  2. Input Measured Depth (MD): Enter the current measured depth of the wellbore in feet (FT). This is the total length of the hole drilled.
  3. Click 'Calculate PPG': Once you have entered both values, click the "Calculate PPG" button.

How to Read Results: The calculator will display:

  • Primary Result (Mud Weight – PPG): This is the main output, showing the calculated density of the drilling fluid in pounds per gallon (PPG) needed to achieve the target hydrostatic pressure at the given depth.
  • Intermediate Values: The displayed inputs (Target Hydrostatic Pressure and Measured Depth) are reiterated for clarity.
  • Calculated Mud Weight: This is the computed PPG value.
  • Table and Chart: A table summarizes the inputs and the calculated mud weight. The chart visually represents the relationship between pressure, depth, and the resulting mud weight.

Decision-Making Guidance: The calculated PPG value is a target for your drilling fluid. You will need to communicate this value to your mud engineering team. They will adjust the mud's formulation by adding weighting agents (like Barite) or other additives to reach and maintain this density. Continuously monitoring mud weight and its impact on drilling parameters is essential for safe and efficient operations.

Key Factors That Affect Mud Weight Calculation PPG Results

While the formula for mud weight calculation PPG is direct, several real-world factors influence the accuracy and application of the results:

  • Formation Pressure: This is the primary driver for determining the required hydrostatic pressure. If formation pressure is underestimated, the mud weight might be too low, risking a kick (influx of formation fluids). If overestimated, the mud weight might be too high, leading to lost circulation.
  • Wellbore Stability: The mud weight must be sufficient to support the wellbore walls and prevent collapse, especially in unconsolidated or fractured formations. This often requires a mud weight window—a range of acceptable densities.
  • Drilling Fluid Properties (Rheology): Mud weight is only one aspect. The viscosity, gel strength, and fluid loss control properties of the mud also significantly impact hole cleaning, pressure transmission, and overall drilling efficiency.
  • Temperature Effects: Fluid density can change with temperature. While the formula provides a target at bottom-hole temperature, mud properties at the surface might differ. Mud engineers account for these variations.
  • Addition of Solids and Additives: The mud weight is actively managed by adding weighting materials (e.g., Barite, Hematite) and other chemicals. The precision of these additions directly impacts the achieved mud weight.
  • Equivalent Circulating Density (ECD): When the mud is being pumped, friction in the annulus increases the pressure at the bottom of the wellbore, creating an Equivalent Circulating Density (ECD). The required mud weight may need to be adjusted to keep the ECD within safe limits, especially when drilling high-pressure zones or through narrow mud weight windows.
  • Cost Implications: Higher mud weights, achieved by adding dense materials, significantly increase the cost of drilling fluid. Therefore, engineers aim for the lowest effective mud weight that ensures well control and stability, balancing safety with economic efficiency.
  • Environmental Regulations: Disposal of used drilling mud can be subject to strict environmental regulations. The composition and density of the mud, particularly the types and amounts of weighting agents used, can impact disposal costs and methods.

Frequently Asked Questions (FAQ)

Q1: What is the ideal mud weight (PPG) for drilling?
A1: There isn't a single "ideal" mud weight. The required PPG depends entirely on the specific formation pressures, wellbore stability requirements, and the measured depth of the well. Our calculator helps determine the target PPG for your specific conditions.
Q2: How does mud weight affect well control?
A2: Mud weight is the primary tool for controlling wellbore pressure. A sufficient mud weight creates hydrostatic pressure that counteracts formation pressure, preventing unwanted influx of oil, gas, or water (a "kick"). If the mud weight is too low, a kick can occur; if too high, it can fracture the formation.
Q3: What is the difference between Mud Weight and Hydrostatic Pressure?
A3: Mud weight is the density of the drilling fluid (e.g., in PPG or SG). Hydrostatic pressure is the pressure exerted by a column of that fluid at a certain depth. Mud weight is a property of the fluid, while hydrostatic pressure is a consequence of that weight acting over a vertical distance.
Q4: Why is the conversion factor 19.23 used in the mud weight calculation PPG?
A4: The factor 19.23 is a constant derived from the density of water (approx. 8.33 PPG) and the conversion of feet to inches. It allows us to directly calculate PPG from PSI per foot of water column. $19.23 \approx \frac{1 \text{ gallon}}{231 \text{ cubic inches}} \times \frac{1728 \text{ cubic inches}}{1 \text{ cubic foot}} \times 8.33 \text{ lb/gallon} \times \text{gravity factor}$. A simpler way to think of it is: a 1-foot column of water (8.33 PPG) exerts about 0.52 PSI. So, $1 / 0.052 \approx 19.23$.
Q5: Can I use this calculator for gas kicks or lost circulation?
A5: This calculator is primarily for determining the *required* mud weight based on static pressure and depth. While understanding mud weight is critical for managing kicks and lost circulation, this tool doesn't directly diagnose or solve those specific issues. Those require more complex well control calculations and mud engineering expertise.
Q6: What happens if I enter unrealistic values for depth or pressure?
A6: The calculator includes basic validation to prevent calculations with non-numeric, negative, or zero values. Entering extremely high values might result in a calculated mud weight that is physically unachievable or economically prohibitive. Always use realistic figures based on well plans and geological data.
Q7: How often should mud weight be checked and adjusted?
A7: Mud weight should be checked regularly, typically every trip (when the drill string is pulled out of the hole) or more frequently during critical drilling phases. Adjustments are made by mud engineers as drilling progresses and formation pressures change.
Q8: Does temperature affect mud weight?
A8: Yes, temperature affects fluid density. Most drilling fluids are formulated for expected bottom-hole temperatures. However, significant temperature variations can alter the mud weight. Mud engineers must account for these changes to maintain accurate hydrostatic pressure.

Related Tools and Internal Resources

Explore these related tools and resources to enhance your understanding of drilling operations and fluid management:

var canvas = document.getElementById('mudWeightChart'); var ctx = canvas.getContext('2d'); var initialData = { labels: ['10000 FT', '12000 FT', '14000 FT', '16000 FT', '18000 FT', '20000 FT'], datasets: [{ label: 'Hydrostatic Pressure (PSI) @ Depth', backgroundColor: 'rgba(0, 74, 153, 0.5)', borderColor: 'rgba(0, 74, 153, 1)', borderWidth: 1, fill: false, data: [8330, 10000, 11660, 13330, 15000, 16660] // Default based on 10 PPG mud }, { label: 'Required Mud Weight (PPG)', backgroundColor: 'rgba(40, 167, 69, 0.5)', borderColor: 'rgba(40, 167, 69, 1)', borderWidth: 1, fill: false, data: [10, 10, 10, 10, 10, 10] // Default for 10 PPG }] }; var mudWeightChart = null; function createChart(data) { if (mudWeightChart) { mudWeightChart.destroy(); } mudWeightChart = new Chart(ctx, { type: 'line', data: data, options: { responsive: true, maintainAspectRatio: false, scales: { y: { beginAtZero: true, title: { display: true, text: 'Value (PSI or PPG)' } }, x: { title: { display: true, text: 'Measured Depth (FT)' } } }, plugins: { title: { display: true, text: 'Mud Weight vs. Depth and Pressure' }, tooltip: { callbacks: { label: function(context) { var label = context.dataset.label || "; if (label) { label += ': '; } if (context.parsed.y !== null) { label += context.parsed.y; if (context.dataset.label.includes('PPG')) { label += ' PPG'; } else { label += ' PSI'; } } return label; } } } } } }); } function validateInput(id, min, max, message) { var input = document.getElementById(id); var errorElement = document.getElementById(id + 'Error'); var value = parseFloat(input.value); if (isNaN(value) || input.value.trim() === ") { errorElement.textContent = 'Please enter a valid number.'; errorElement.classList.add('visible'); return false; } if (value <= 0) { errorElement.textContent = 'Value cannot be zero or negative.'; errorElement.classList.add('visible'); return false; } if (min !== null && value max) { errorElement.textContent = message || 'Value is too high.'; errorElement.classList.add('visible'); return false; } errorElement.textContent = "; errorElement.classList.remove('visible'); return true; } function calculatePPG() { var hpInput = document.getElementById('hydrostaticPressure'); var mdInput = document.getElementById('measuredDepth'); var isValidHP = validateInput('hydrostaticPressure', 1, null, 'Hydrostatic pressure must be positive.'); var isValidMD = validateInput('measuredDepth', 1, null, 'Measured depth must be positive.'); if (!isValidHP || !isValidMD) { document.getElementById('ppgResult').textContent = '–'; document.getElementById('displayPpg').textContent = '–'; document.getElementById('tablePpg').textContent = '–'; return; } var hydrostaticPressure = parseFloat(hpInput.value); var measuredDepth = parseFloat(mdInput.value); var ppg = (hydrostaticPressure / measuredDepth) * 19.23; ppg = ppg.toFixed(2); document.getElementById('ppgResult').textContent = ppg + ' PPG'; document.getElementById('displayHydrostaticPressure').textContent = hydrostaticPressure.toFixed(0) + ' PSI'; document.getElementById('displayMeasuredDepth').textContent = measuredDepth.toFixed(0) + ' FT'; document.getElementById('displayPpg').textContent = ppg + ' PPG'; document.getElementById('tableHydrostaticPressure').textContent = hydrostaticPressure.toFixed(0); document.getElementById('tableMeasuredDepth').textContent = measuredDepth.toFixed(0); document.getElementById('tablePpg').textContent = ppg; updateChart(hydrostaticPressure, measuredDepth, ppg); } function updateChart(currentHP, currentMD, currentPPG) { var depths = [currentMD * 0.7, currentMD, currentMD * 1.2, currentMD * 1.4, currentMD * 1.6, currentMD * 1.8]; var depthsLabels = depths.map(function(d) { return d.toFixed(0) + ' FT'; }); var hydroPressures = depths.map(function(d) { return (d / currentMD) * currentHP; }); var mudWeights = depths.map(function(d) { return (d / currentMD) * currentPPG; }); var newData = { labels: depthsLabels, datasets: [{ label: 'Hydrostatic Pressure (PSI) @ Depth', backgroundColor: 'rgba(0, 74, 153, 0.5)', borderColor: 'rgba(0, 74, 153, 1)', borderWidth: 1, fill: false, data: hydroPressures.map(function(p) { return p.toFixed(0); }) }, { label: 'Required Mud Weight (PPG)', backgroundColor: 'rgba(40, 167, 69, 0.5)', borderColor: 'rgba(40, 167, 69, 1)', borderWidth: 1, fill: false, data: mudWeights.map(function(w) { return w.toFixed(2); }) }] }; createChart(newData); } function resetCalculator() { document.getElementById('hydrostaticPressure').value = '5000'; document.getElementById('measuredDepth').value = '10000'; document.getElementById('hydrostaticPressureError').textContent = "; document.getElementById('measuredDepthError').textContent = "; document.getElementById('hydrostaticPressureError').classList.remove('visible'); document.getElementById('measuredDepthError').classList.remove('visible'); document.getElementById('ppgResult').textContent = '–'; document.getElementById('displayHydrostaticPressure').textContent = '–'; document.getElementById('displayMeasuredDepth').textContent = '–'; document.getElementById('displayPpg').textContent = '–'; document.getElementById('tableHydrostaticPressure').textContent = '–'; document.getElementById('tableMeasuredDepth').textContent = '–'; document.getElementById('tablePpg').textContent = '–'; initialData.datasets[1].data = initialData.datasets[1].data.map(function() { return 10; }); // Reset to default 10 PPG createChart(initialData); } function copyResults() { var hp = document.getElementById('displayHydrostaticPressure').textContent; var md = document.getElementById('displayMeasuredDepth').textContent; var ppg = document.getElementById('displayPpg').textContent; var assumptions = "Key Assumptions:\n- Hydrostatic Pressure: " + hp + "\n- Measured Depth: " + md; var resultText = "Mud Weight Calculation Results:\n" + "Calculated Mud Weight: " + ppg + "\n" + assumptions; var textArea = document.createElement("textarea"); textArea.value = resultText; document.body.appendChild(textArea); textArea.select(); try { document.execCommand("copy"); alert("Results copied to clipboard!"); } catch (e) { alert("Failed to copy results. Please copy manually."); } document.body.removeChild(textArea); } document.addEventListener('DOMContentLoaded', function() { resetCalculator(); // Initialize with default values and chart createChart(initialData); // Ensure chart is drawn initially }); // Chart.js (for canvas chart) – MUST be included in a real scenario via // For this single file requirement, we'll assume Chart.js is globally available. // In a real WordPress integration, you'd enqueue this script properly. var Chart = window.Chart || {}; // Placeholder in case Chart.js is not loaded. if (typeof Chart === 'undefined') { console.error("Chart.js not found. Please ensure Chart.js is loaded."); }

Leave a Comment